Thomas E. Kurtz
Thomas E. Kurtz… Ce nom ne dira pas grand chose à la plupart de mes lecteurs. Sauf s’ils appartiennent à la génération d’informaticien à laquelle j’appartiens. Et encore. Tous ne sont en effet pas passés par les affres du langage qu’il mis au point avec son collègue, John Kemeny, décédé il y a une trentaine d’année. Kurtz et Kemeny sont en effet les inventeurs du … BASIC.
L’invention du BASIC
Cela ne vous dit probablement rien, mais pour nous, vieux informaticiens, ça veut dire beaucoup. Le BASIC est en effet un très vieux langage de programmation, c’est même le langage informatique sur lequel j’ai appris à programmer, au début des années 80, sur un Commodore VIC 20, doté de 3,5Ko de mémoire vive. Autant vous dire qu’on n’allait pas très loin avec ça. Mais nous nous en contentions parfaitement, c’était déjà beaucoup plus de ce dont on pouvait disposer sur un calculatrice programmable comme une TI-57, et avec ses petites capacités graphiques à deux balles, le BASIC du VIC 20 permettait de faire des choses assez jolies pour l’époque.
En consultant l’article Wikipedia consacré à Kurtz, on apparent que nos deux inventeurs, Kurtz et Kemeny étaient deux professeurs de mathématiques au Darmouth College. C’est en fait Kemeny qui y recruta Kurtz. Avec un groupe d’étudiants, ils mirent au point un système de gestion partagée d’un seul ordinateur via plusieurs terminaux, ainsi qu’un langage rudimentaire pour initier leurs étudiants à la programmation. Ils donnent le joli nom de Beginner’s all-purpose symbolic instruction code, rapidement remplacé par son acronyme BASIC. Le langage ne fut pas breveté, pour permettre une large diffusion au sein des universités, et remporta un certain succès. Les grands constructeurs de l’époque s’en emparèrent, notamment DEC et IBM. On vit apparaître de nombreux dérivés du BASIC, de moins en moins compatibles entre eux, aboutissant au final à un effacement progressif; au profit d’autres langages, plus évolués et mieux normalisés.
Pourtant, il existe toujours un descendant du BASIC en activité. Développé par Microsoft, Visual BASIC est en effet directement issu du langage mis au point par Kurtz et Kemeny, tout en l’équipant d’un vaste jeu de fonctionnalités inspirées des langages procéduraux, qui faisaient défaut au langage initial.
Le plus simple des langages
Avec son jeu d’instructions très simple, le BASIC était probablement l’un des langages les plus simples. Un programme BASIC classique avait la forme d’une liste d’instructions, écrites sur des lignes qu’on numérotait, de manière à pouvoir brancher l’exécution du programme vers telle ou telle ligne. Voici par exemple un petit programme BASIC pour créer un arbre généalogique (si vous vous demandez pourquoi choisir cet exemple;, regardez ici).
10 REM Programme pour créer un arbre généalogique
20 CLS
30 DIM NOM$(10), PARENT1$(10), PARENT2$(10)
40 PRINT "=== Création d'un arbre généalogique ==="
50 PRINT "Combien de personnes souhaitez-vous ajouter ?"
60 INPUT "Nombre de personnes : ", N
70 FOR I = 1 TO N
80 PRINT "Entrez les informations pour la personne "; I
90 INPUT "Nom : ", NOM$(I)
100 INPUT "Nom du parent 1 (ou vide) : ", PARENT1$(I)
110 INPUT "Nom du parent 2 (ou vide) : ", PARENT2$(I)
120 NEXT I
130 PRINT "=== Arbre généalogique ==="
140 FOR I = 1 TO N
150 PRINT "Nom : "; NOM$(I)
160 IF PARENT1$(I) <> "" THEN PRINT " Parent 1 : "; PARENT1$(I)
170 IF PARENT2$(I) <> "" THEN PRINT " Parent 2 : "; PARENT2$(I)
180 PRINT "---------------------------"
190 NEXT I
200 END
Je me souviendrai toute ma vie de mes premeirs pas en BASIC. C’était à l’été 1982, je venais de recevoir le VIC 20 que m’avait offert lon oncle Jo, disparu l’an dernier, en cadeau pour ma réussite au Bac quelques jours plus tôt. Un revendeur Commodore avait en effet ouvert à deux pas de chez mes parents, et j’y avais passé de nombreux après-midi à apprendre à utiliser ces ordinateurs personnels bon marché. Parti en vacances d’été à Juan les Pins, comme chaque année, j’étais parti avec cet ordinateur, qui ne comportait qu’un clavier qu’on devait connecter à un écran de télévision au format PAL (par chance, un autre de mes oncles avait rapporté un écran N&B PAL d’Israel quelques mois plus tôt).
Je me mis alors à programmer un jeu très simple, qui simulait le fonctionnement d’une course de voitures. Une course rudimentaire, bien entendu, qui utilisait le scrolling de l’écran pour donner l’impression de déplacement. Le museau d’une Formule 1 était affiché sur la ligne du bas, et en appuyant sur des touches de clavier prédéterminées, on pouvait déplacer ce museau vers la droite ou la gauche. La largeur de la route et la position de ses bords évoluaient de manière aléatoire, perdant ou gagnant un pavé de ligne en ligne, ce qui donnait l’impression de rouler sur une piste qui défilait sous nos yeux…
Je n’ai bien évidemment gardé aucune trace de ce programme. Les disques durs n’existaient pas encore, et il me fallait réécrire tout le code à chaque fois que je voulais jouer ou montrer mon jeu… BASIC était vraiment rudimentaire, mais le plaisir qu’on en tirait était déjà immense.
Découvrez d'autres articles sur ce thème...
Hervé Kabla, ancien patron d’agence de comm’, consultant très digital et cofondateur de la série des livres expliqués à mon boss.
Crédits photo : Yann Gourvennec