j'ai moi aussi eu droit au scheme à l'insa, en tant qu'élève puis vacataire :)
Scheme est bien pour commencer parce qu'il a une syntaxe ultra simple. À mon avis c'est aussi son inconvénient parce que tout se ressemble, on ne sait pas qu'est-ce qui fait partie du langage ou pas. C'est aussi dommage de rester bloqué à faire des programmes dans le toplevel, sans voir clairement comment on peut faire des vrais programmes qui marchent comme les autres applis du système.
Pascal pourquoi pas mais autant prendre un langage plus récent et utilisé...
Basic... à part le hype sur la simplicité je vois vraiment pas l'intérêt, surtout si c'est pour utiliser VB qui a tellement évolué que c'est plus du basic.
Le C c'est très bien pour des choses un peu bas niveau, en cours d'archi ou de système par exemple, pour débuter y'a mieux je pense.
Java comme remplaçant de pascal, pourquoi pas, mais on peut pas passer à côté des classes etc. ce qui est gênant ; avec les casts, les classes Integer, etc c'est autant de trucs superflus pour l'enseignement mais qu'on ne peut pas ignorer. Et pour apprendre l'objet tu peux essayer C++ aussi, ça aura le même résultat.
Bash, Php Perl, n'y pensons même pas : faut avoir à l'esprit qu'un des problèmes typiques au début c'est (if (test a b) then true else false). Va expliquer le problème quand il y a une syntaxe cryptique avec moultes expansions de quotes et de $MACHIN...
Voilà pour mon avis sur les langages que tu cites, mon sujet en cite d'autres :
Eiffel : pareil que Java, on ne peut pas passer à côté des classes, mais le reste est bien mieux fait, bien plus clair. Bien pour des cours de génie logiciel ou pour des projets (contrats roxor).
OCaml : très bien pour l'algorithmique. Perso je le trouve un peu write-only mais le typage bien carré c'est sympa pour apprendre.
Smalltalk : la syntaxe est bizarre mais très simple, l'environnement Squeak est sympa, et surtout il y a un projet appelé eToys qui rend la programmation accessible aux très jeunes, et qui à mon avis ça remplacerait génialement le LOGO au collège. Pour le reste on aussi bosser du génie log, faire des programmes graphiques très simplement. Franchement ça devrait être plus répandu.
Finalement je pense que Ruby est un bon candidat, voire le meilleur, parce qu'il fait un compromis entre pas mal de bonnes choses : la syntaxe est claire, et surtout on peut commencer par des programmes linéaires et introduire la structuration, les objets très progressivement.
bon, c'est très parti{a,e}l mais j'en ai déjà mis des tartines donc hop.
# Eiffel, Smalltalk, Ruby, OCaml
Posté par Damien . En réponse au message Pour apprendre à programmer. Évalué à 2.
j'ai moi aussi eu droit au scheme à l'insa, en tant qu'élève puis vacataire :)
Scheme est bien pour commencer parce qu'il a une syntaxe ultra simple. À mon avis c'est aussi son inconvénient parce que tout se ressemble, on ne sait pas qu'est-ce qui fait partie du langage ou pas. C'est aussi dommage de rester bloqué à faire des programmes dans le toplevel, sans voir clairement comment on peut faire des vrais programmes qui marchent comme les autres applis du système.
Pascal pourquoi pas mais autant prendre un langage plus récent et utilisé...
Basic... à part le hype sur la simplicité je vois vraiment pas l'intérêt, surtout si c'est pour utiliser VB qui a tellement évolué que c'est plus du basic.
Le C c'est très bien pour des choses un peu bas niveau, en cours d'archi ou de système par exemple, pour débuter y'a mieux je pense.
Java comme remplaçant de pascal, pourquoi pas, mais on peut pas passer à côté des classes etc. ce qui est gênant ; avec les casts, les classes Integer, etc c'est autant de trucs superflus pour l'enseignement mais qu'on ne peut pas ignorer. Et pour apprendre l'objet tu peux essayer C++ aussi, ça aura le même résultat.
Bash, Php Perl, n'y pensons même pas : faut avoir à l'esprit qu'un des problèmes typiques au début c'est (if (test a b) then true else false). Va expliquer le problème quand il y a une syntaxe cryptique avec moultes expansions de quotes et de $MACHIN...
Voilà pour mon avis sur les langages que tu cites, mon sujet en cite d'autres :
Eiffel : pareil que Java, on ne peut pas passer à côté des classes, mais le reste est bien mieux fait, bien plus clair. Bien pour des cours de génie logiciel ou pour des projets (contrats roxor).
OCaml : très bien pour l'algorithmique. Perso je le trouve un peu write-only mais le typage bien carré c'est sympa pour apprendre.
Smalltalk : la syntaxe est bizarre mais très simple, l'environnement Squeak est sympa, et surtout il y a un projet appelé eToys qui rend la programmation accessible aux très jeunes, et qui à mon avis ça remplacerait génialement le LOGO au collège. Pour le reste on aussi bosser du génie log, faire des programmes graphiques très simplement. Franchement ça devrait être plus répandu.
Finalement je pense que Ruby est un bon candidat, voire le meilleur, parce qu'il fait un compromis entre pas mal de bonnes choses : la syntaxe est claire, et surtout on peut commencer par des programmes linéaires et introduire la structuration, les objets très progressivement.
bon, c'est très parti{a,e}l mais j'en ai déjà mis des tartines donc hop.