Je ne crois pas qu'il y ait de bonne réponse. Tous les langages ont leurs spécificités, et tu ne peux pas tout voir en même temps.
L'idéal ce serait d'en voir plusieurs, et laisser les élèves choisir celui ou ceux qu'ils préfèrent.
Cas personnel: cycle ingé avec cours d'info en tronc commun (je ne suis pas et ne souhaitais pas partir vers l'info).
On avait des cours d'algorithmie en pseudo-langage. On implémentait en Pascal. J'aimais pas le Pascal: tous les cours m'ont semblé chiant à mourir.
Ensuite on a eu une initiation au C. Je n'aime pas le C: allouer la mémoire, surveiller les possibles dépassements, libérer la mémoire. J'ai l'impression que ce truc est fait pour qu'on fasse des boulettes. Je déconseillerais le C à quiconque ne souhaite pas devenir un "gros" programmeur, j'ai l'impression qu'il faut toujours beaucoup d'expérience pour ne pas écrire du code de merde. Trop de choses à surveiller et à retenir. Toujours est-il que ça ne m'a pas intéressé d'avantage à la programmation.
Mais je me suis toujours dit qu'un bon électronicien devait savoir pondre un minimum de code, alors j'en ai regardé d'autres, des langages.
Un jour j'ai découvert l'OCaml par moi-même: j'ai trouvé ça formidable. Rigoureux, puissant, bref: formidable, quoi. Puis je me suis rendu compte que c'était peu répandu, et que ça ne serait pas LE langage que j'apprendrais qui me servirait à tout et n'importe quoi (pas de lib pour ci, pas de binding pour ça, etc.). Alors j'ai laissé tomber aussi (snif!).
J'ai fait un tuto pour Python, qui comparé à OCaml me donnait une impression de manque de rigueur, mais Python, c'est un peu le truc tout-terrain: y'a des libs pour tout, des bindings pour tout, et on le retrouve du calcul lourd (numpy) au solutions de dév Android (j'ai vu des slides sur Pyotherside, ça a l'air prometteur).
Du coup voilà: je sais écrire des trucs simples en Python, mais si on m'avait fait des cours d'info en Python, j'aurais peut-être pas aimé non plus.
(Ah, je passe un apprentissage éclair de R pour un besoin précis, mais disons que R est un cas particulier).
Conclusion: faites en sorte que les élèves puissent essayer quelques langages différents le plus vite possible. Si le(s) prof(s) en connaissent plusieurs, pourquoi ne pas leur faire des séances découvertes de chaque avant de les laisser en choisir un individuellement pour les travaux pratiques?
C'est peut-être plus lourd, mais ça permettra peut-être aussi de couvrir plus de notions en comparant les approches et méthodes dans des séances de groupe.
# Pas de "bonne" réponse
Posté par Maclag . En réponse au journal Python comme premier langage de programmation ?. Évalué à 6.
Je ne crois pas qu'il y ait de bonne réponse. Tous les langages ont leurs spécificités, et tu ne peux pas tout voir en même temps.
L'idéal ce serait d'en voir plusieurs, et laisser les élèves choisir celui ou ceux qu'ils préfèrent.
Cas personnel: cycle ingé avec cours d'info en tronc commun (je ne suis pas et ne souhaitais pas partir vers l'info).
On avait des cours d'algorithmie en pseudo-langage. On implémentait en Pascal. J'aimais pas le Pascal: tous les cours m'ont semblé chiant à mourir.
Ensuite on a eu une initiation au C. Je n'aime pas le C: allouer la mémoire, surveiller les possibles dépassements, libérer la mémoire. J'ai l'impression que ce truc est fait pour qu'on fasse des boulettes. Je déconseillerais le C à quiconque ne souhaite pas devenir un "gros" programmeur, j'ai l'impression qu'il faut toujours beaucoup d'expérience pour ne pas écrire du code de merde. Trop de choses à surveiller et à retenir. Toujours est-il que ça ne m'a pas intéressé d'avantage à la programmation.
Mais je me suis toujours dit qu'un bon électronicien devait savoir pondre un minimum de code, alors j'en ai regardé d'autres, des langages.
Un jour j'ai découvert l'OCaml par moi-même: j'ai trouvé ça formidable. Rigoureux, puissant, bref: formidable, quoi. Puis je me suis rendu compte que c'était peu répandu, et que ça ne serait pas LE langage que j'apprendrais qui me servirait à tout et n'importe quoi (pas de lib pour ci, pas de binding pour ça, etc.). Alors j'ai laissé tomber aussi (snif!).
J'ai fait un tuto pour Python, qui comparé à OCaml me donnait une impression de manque de rigueur, mais Python, c'est un peu le truc tout-terrain: y'a des libs pour tout, des bindings pour tout, et on le retrouve du calcul lourd (numpy) au solutions de dév Android (j'ai vu des slides sur Pyotherside, ça a l'air prometteur).
Du coup voilà: je sais écrire des trucs simples en Python, mais si on m'avait fait des cours d'info en Python, j'aurais peut-être pas aimé non plus.
(Ah, je passe un apprentissage éclair de R pour un besoin précis, mais disons que R est un cas particulier).
Conclusion: faites en sorte que les élèves puissent essayer quelques langages différents le plus vite possible. Si le(s) prof(s) en connaissent plusieurs, pourquoi ne pas leur faire des séances découvertes de chaque avant de les laisser en choisir un individuellement pour les travaux pratiques?
C'est peut-être plus lourd, mais ça permettra peut-être aussi de couvrir plus de notions en comparant les approches et méthodes dans des séances de groupe.