[bcn-pm] RE:Presentacio

Jordi Delgado jdelgado at lsi.upc.es
Wed Nov 26 16:41:27 CST 2003


Hola,

>se que esto no tiene mucho que ver con Perl, pero me interesaria saber si
>como profesor crees que Java no es un buen lenguaje introductorio, mas
>alla de tu gusto personal.
>Personalmente, mis cursos introductorios fueron en C/C++, pero hacia el
>segundo a~no el programa cambio y empezamos a trabajar con Java. Creo que
>desde el punto de vista de aprender a representar problemas, Java (o
>cualquier OOL) es claro, con sintaxis simple, sin "complicaciones" como
>punteros/referencias, etc, y que permite rapidamente "ir mas alla" de las
>peculiaridades de un lenguaje y dedicarse a aprender "programacion".
>Mis experiencias pre-universitarias fueron con Logo y luego Pascal, y creo
>que sin problema hubiera usado Java en su lugar.

Bé, està bé, tu em demanes la opinió, no? després no et queixis! ;-)

Jo demanaria com a minim dues característiques a un "primer llenguatge":

1) Un "primer llenguatge" ha de ser un llenguatge que sigui molt senzill,
de manera que et permeti concentrar-te en aspectes i conceptes
essencials del que ensenyes i no en questions superficials:

Un parell d'exemples:
- En Java els estudiants tenen molts problemes quan aprenen els
mètodes per primera vegada i els han de definir dins de la classe
principal ja que els han de definir com a metodes de classe
("static"). Naturalment et pregunten per què, i com no els has
explicat classes encara els has de dir que s'ho creguin, que ja ho
veuran després.
- En Pascal, els estudiants es passen les hores de laboratori posant i
treient parells begin...end, ja que es fan un embolic sobre com
usar-los.

En general us farieu creus del temps que es perd en aquestes xorrades,
en lloc d'aprofitar-se en aspectes algorísmics.

En definitiva tot això són problemes derivats de la sintaxi del
llenguatge. Solució? un llenguatge que tingui una sintaxi tan elemental
que no calgui ni fer-la explicita, que s'aprengui només veient-la en
acció. Quin llenguatge té una sintaxi com aquesta? Scheme (o Lisp).

Aquest és un problema que lamentablement Perl també pateix. Perl és
un llenguatge "tradicional" en aquest sentit. Té una sintaxi a
aprendre.

Ja ho va dir Alan Perlis: "Syntactic sugar causes cancer of the semi-colon"
:-)

2) Un "primer llenguatge" ha de ser prou expressiu com per donar
màxima flexibilitat a l'hora de programar. No s'ha de primar cap
paradigma de programació per sobre dels altres, ja que no n'hi ha cap
que sigui la "panacea universal". Hi ha problemes pels que la OO va
molt bé, però hi ha problemes pels que la programació lògica (à la
Prolog) va molt millor, o la proramació amb no determinisme, etc.
En aquest sentit Java practicament t'imposa la orientació a objectes i
Pascal la programació estructurada.

Quin llenguatge és suficientment flexible com per expressar amb
senzillesa qualsevol paradigma de programació? Scheme / Lisp.
I una de les raons que fan que m'interessi per Perl és que sospito que
aquesta és una de les seves característiques.


En definitiva el model d'ensenyament que més m'agrada és el que es fa
servir al M.I.T. (Massahussets Institute of Technology) des de
principis dels vuitanta i que queda exemplificat al llibre:
"Structure and Interpretation of Computer Programs"
H.Abelson, G.J.Sussman & J.Sussman
2nd ed., MIT Press, 1996
i que podeu trobar sencer a la web (no cal comprar-se'l)
mitpress.mit.edu/sicp

Ja veieu, no hi ha cap rao massa profunda, només el que he pogut veure
a les aules durant uns quants anys. I abans que algú digui:"I si se'ls
ensenya OO des del principi, no veurien a Java com un llenguatge més
natural?" La resposta és que, després de provar-ho durant dos
semestres crec que això d'ensenyar a programar directament des del
principi amb filosofia OO no funciona (o jo no ho vaig saber fer bé,
que també pot ser).
Us heu fixat que en molts llibres de text d'introducció a la programació
amb Java el primer bucle apareix a partir de la plana 300???

En fi, aquestes són algunes opinions. Sens dubte sereu molts els que
discrepareu i estaré encantat de llegir què en penseu...

Salut!

Jordi




More information about the Barcelona-pm mailing list