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 :
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)