J'étais doué en maths, ai fait math sup et spé w une école d'ingénieur mécanique puis informatique, mais si j'adorais la programmation au début avec Pascal ou Basic, j'en ai été écoeuré ensuite avec Unix Bash et surtout C. Pourquoi? Parce que attiré par les maths, propres et carrées, j'ai trouvé C et Unix degueulassesw des bricolages vite fait mal fait pas penses du tout, un gâchis terrible. (Lisez ''the Unix haters book' des anciens qui utilisaient des Lisp Machines, autrement mieux pensées.. Unix est un bricolage vite fait après l'échec de Multics qui, lui, était mieux pensé.). Et toute notre informatique est une pétoire similaire (PHP JS etc.) qui a écoeuré les plus ''carrés'', même Brendan Eich créateur de JS (qui voulait lui aussi un Lisp, Scheme)...
Donc la première des choses est de trouver la motivation de l'élève dans sa personnalité, ce qu'il aime et déteste, comment il appréhende le monde et sa manipulation mentale.
Je comprend qu'on puisse aimer le C voire l'assembleur pour bidouiller (''hacker'') l'ordinateur avec ses registres mémoires, maîtriser la bête depuis ses entrailles, puis monter petit a petit avec C++, Java, JS. Ou l'inverse comme moi, penser plutôt abstrait, non pas ''bottom-up'' mais ''top-down'' comme un architecte et non pas un maçon ou menuisier, avec des langages abstraits tels que Lisp ou Python.
J'ai repris la programmation avec Visual Basic/VBA: là, manipuler des tableaux Excel par exemple est fort gratifiant, puissant, efficace, utile directement au travail de tous les jours. Démarrer même l'apprentissage avec juste des macros Excel qui, rappelons le, est de très très loin l'outil ''de développement '' le plus utilisé au monde pour faire n'importe quoi, d'un agenda a une base de données clients ou projets, visuellement (on voit d'abord le résultat, on entre ensuite dans la manipulation par code ou no code ), est l'inverse des outils que vous manipulez. Pas aussi ''puissant'' mais aussi utiles.
Python, Smalltalk, Pharo, Ruby, LiveCode surtout (un HyperCard en live coding comme Smalltalk d'ailleurs ce dernier a été inventé par Alan Kay qui ne pensait que pour enseigner justement la programmation aux enfants, Scratch etc.) sont des outils beaucoup plus clairs intuitifs faciles intégrés et cohérents donc moins rébarbatifs que C, Vi/emacs, Unix, etc.! Si on ne veut pas écœurer dès le début un débutant...
Bref, jeune garçons bricolo ''hackeur'' bidouilleur qui aime voir sous le capot, ou femme qui aime ce qui est beau simple clair élégant, entre les deux il y a un monde, et a chacun son outil, ''les mains dans le cambouis'' (C) ou ''assemblage de beaux éléments'' (LiveCode, RoR)...
Même Alan Kay dit dans ses conférences TedX qu'on attend toujours la révolution software qu'on a eu en hardware.. plus de 40 ans après son Smalltalk, on code toujours plus mal qu'avant , de quoi en écœurer plus d'un, moi le premier... Quel gâchis.
4 |
0 |