pt
Moulé à la louche depuis 1999
Les trucs qui m'énervent... et je vais pas prendre de pincettes
Internet, informatique, logiciel libre, économie, politique, vie courante et tout le reste...

Apprendre à programmer

Vendredi 29 aout 2008

Aux débuts de la micro-informatique, tous les ordinateurs étaient fournis avec de quoi programmer. C'était un des principes de base: On vous fournit un ordinateur, et ce qu'il faut pour lui faire faire ce que vous voulez, c'est à dire lui donner des instructions, programmer. C'était généralement du Basic. Même Microsoft fournissait le basic avec MS-Dos (Basica, puis GWBasic et QBasic). Programmer, c'était quelquechose qui allait de soit quand on achète un ordinateur. Programmation, bidouillage, "hacking"... C'est le "bidouilleur" qui est à l'origine du terme "hacker" (terme dévoyé par la suite, qui signifie généralement maintenant "sale petit con qui fout la merde".)

De nos jours, cette possibilité a disparu. Plus le moindre langage fourni avec Windows (par pitié, ne me servez pas VBScript comme excuse). Et c'est dommage, parceque la programmation, c'est pas si compliqué que ça et c'est amusant. Ceux qui découvrent la programmation sont en général enthousiasmés par la possibilité de "commander" l'ordinateur, et de pouvoir lui faire accomplir des tâches pour lesquelles il n'était pas prévu au départ. Bien sûr ça nécessite un peu de curiosité et un peu de temps.
Mais avec l'absence totale de langage de programmation, plus aucune opportunité de faire découvrir ça aux utilisateurs. La plupart des utilisateurs n'imaginent même pas le simple fait que ce soit possible.

Oh bien sûr Microsoft vous propose d'installer le mamouth VisualStudio, mais pourquoi faire aussi lourd ? Le BASIC remplissait bien sa tâche. Sous les systèmes autres que Windows, les langages de programmation font partie du système: la plupart des Linux/Unix ont perl ou Python installé dès le départ (je ne compte pas le shell comme un langage à part entière, même s'il peut atteindre une belle sophistiscation).

Quand on commence à programmer, on peut faire des choses sympa. Prenez miniMusic: Mon petit programme de 41 lignes permet de partager votre collection de MP3: Vous pouvez écouter à distance à votre musique à l'aide d'un simple navigateur ! Je n'irai pas prétendre qu'il est simple, mais il montre qu'on peut faire des choses intéressantes avec assez peu de lignes de code.
Après, on peut passez à des choses beaucoup plus complexes, comme mon mélangeur d'images webGobbler.

Je milite pour l'installation d'un shell Python par défaut sous tous les OS ! Python est facile à apprendre et permet d'aborder un par un les concepts de la programmation. Il ne manque plus qu'un petit environnement interactif un peu plus vivant, peut-être même une sandbox graphique plus attrayante. On pourrait aussi penser à Squeak (SmallTalk), Scratch ou au Logo.

Sans ça, c'est du gâchis de matière grise !


PS: Hommage à mon papa, qui m'a fait découvrir la programmation en ramenant un Apple II à la maison et en tapant:

10 PRINT "COUCOU"
20 GOTO 10
RUN

Il n'en a pas fallu plus pour piquer ma curiosité. Si vous lisez ce site, c'est grâce à lui.