Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

Ré-apprenons le BASIC pendant les vacances

Première rédaction de cet article le 25 août 2010


Dans un grenier, j'ai mis la main sur un manuel de 1984, « Une merveille de simplicité / ALICE / Découvrez le Basic » coédité par Matra et Hachette avec une préface de Jean-Luc Lagardère, dirigeant à l'époque des deux entreprises. Le manuel documentait le micro-ordinateur ALICE, de Matra (en fait, fabriqué par Tandy). L'ALICE était muni en ROM d'un BASIC de Microsoft.

Ce BASIC était d'ailleurs son seul shell. Toute interaction avec la machine passait par des commandes BASIC. Le langage était vraiment minimum (même une technique aussi simple que l'indentation pour améliorer la lisibilité des programmes n'existait pas). De mes activités BASIC de l'époque, je ne me souvenais clairement que du fait qu'une variable stockait un nombre, sauf si son nom était suivi d'un $, indiquant que la variable stockait une chaîne de caractères. J'ai révisé le reste : le GOTO était largement utilisé pour presque tout (il y avait quand même des sous-programmes, se terminant par RETURN, et des vraies boucles avec FOR). La seule méthode d'analyse présentée était l'organigramme. Les programmes étaient stockés sur un mécanisme séquentiel, une simple cassette de magnétophone (instructions CSAVE et CLOAD).

L'ordinateur était à la hauteur de ce langage, avec un microprocesseur 6803, 16K de RAM (le manuel que j'ai lu documente la seconde version de l'ALICE, la première avait encore moins), et pas d'écran : il fallait le connecter à son téléviseur familial via le classique câble Péritel.

Heureuse époque où il ne faisait pas de doute que tout le monde devrait apprendre un minimum de programmation pour pouvoir se servir d'un ordinateur ! Le manuel, plutôt bien fait pourtant, est intarissable sur les détails pratiques (du genre, comment allumer un point vert sur l'écran, avec SET(X, Y, 1), 1 étant le vert), moins disert sur la méthodologie et l'analyse, et complètement muet sur les applications réalistes possibles (les exemples donnés sont essentiellement des jeux vidéos ultra-simples). Le manuel de l'ALICE servait à la fois d'introduction à une machine, à un langage et à la programmation en général, bien trop de choses pour 204 pages. Vu le caractère très sommaire du langage et de son environnement, vue l'absence complète du concept de bibliothèque, pas étonnant que l'ALICE n'ait pas nourri un grand nombre de vocations de programmeur.

Pire, comme l'ordinateur ne disposait pas de connexion au réseau, et que la seule possibilité d'échange de programmes passe par le magnétophone, les efforts des uns ne pouvaient pas servir aux autres : chacun était condamné à réinventer son Nième programme de gestion d'hôtel (un des exemples donnés). Pourtant, à la même époque, Unix disposait déjà d'une large bibliothèque de programmes que ses utilisateurs s'échangeaient, via Internet ou UUCP.

Où en est-on aujourd'hui ? On est plutôt passé à l'extrême opposé : la programmation est vue comme un repoussoir (cf. la publicité d'Apple associant l'apprentissage de la programmation à celle de l'alphabet Morse) et on demande surtout à l'utilisateur de ne rien faire d'autre que cliquer sur des endroits pré-définis.

À l'époque, l'utilisation de l'ordinateur semblait à la fois utile et plaisante, comme l'illustre la couverture du manuel, due à Moebius lui-même, dans le style psychédélique des années 70. Le ton du manuel se voulait léger, du genre « La nouvelle valeur de A écrase l'ancienne. Place aux jeunes ! » (encore un slogan qui marque bien son époque...) Aujourd'hui, le ton des manuels est tout aussi exaspérant (les auteurs étant convaincus que l'utilisateur est un abruti et qu'il faut lui parler jeune) mais les ambitions ont beaucoup diminué. En 1984, on pensait naïvement que tout le monde deviendrait programmeur. En 2010, on n'a pas d'autre perspective que de consommer des programmes existants, sans participer à leur création.

La couverture : alice-basic-moebius.jpg

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)