Le premier week-end – Part II

TRS-80-Level-II-BASIC-ManualUne fois que le collègue m’a expliqué deux ou trois rudiments et s’est assuré que le matériel fonctionne correctement, je me retrouve seul face au clavier et à l’écran.

Je démarrais donc en testant quelques petits programmes que j’avais déjà rédigés en Basic. Il faut dire qu’avant de prendre la décision de vendre mon matériel photo, avec lequel je gagnais quand même un peu de sous avec mes prises de vue et tirages, je m’étais renseigné sur ces « zordinateurs » dont on ne savait pas très bien ce qu’on allait en faire.

Déjà, pendant mon année de troisième, nous avions participé avec mon père à une journée porte-ouverte dans un lycée du département. Me destinant aux études d’électronique, nous avions aussi visité la section informatique. Là, je tombe des nues en voyant ce qu’on peut faire avec un écran et un clavier ! Nous avions joué au Black Jack, au Poker, et dans ma caboche germait déjà l’idée de programmer un logiciel de jeu de Belote.

Mon collègue responsable du tirage automatique, appelons-le Thomas, était en relation au début 1979 avec des ingénieurs de Kodak France qui voyageaient souvent aux États-Unis pour suivre des stages de formation sur l’utilisation et la maintenance des machines et du système Technet. C’est par cette relation professionnelle avec un Ingénieur travaillant chez Kodak qu’il a pris connaissance de l’existence des micro-ordinateurs et avait pris la décision de s’en procurer un en France. Ce qu’il a fait.

Quand au début Juin il me parle de son achat, cela fait tilt dans mon cerveau ! Je me remémore la journée porte-ouverte, puis les discussions avec mes profs d’électronique à l’école et les divers échanges avec mes copains de classe sur les micro-processeurs et autres nouveautés du moment. Pendant ma scolarité en électronique, nous avions beau titiller les profs pour qu’ils nous en apprennent plus sur les micro-processeurs, ces derniers semblaient ne pas en savoir beaucoup plus que nous. L’Internet grand public n’existant pas encore, nous partions à la chasse aux revues et bouquins sur le sujet chez des libraires comme Brentano’s ou la FNAC.

Du coup, tout un flot de questions me monte au cerveau et je les sors aussi vite que possible à mon collègue qui s’amuse de ma curiosité et de mon excitation. Après quelques échanges, il me propose de me passer la documentation de son ordinateur, un TRS-80. Je n’ai pas réfléchi longtemps pour accepter. La doc était en anglais. La loi Toubon n’avait pas encore frappé et nous n’avions de cette manière aucune difficulté à trouver des infos sur beaucoup de sujets techniques pour peu que nous soyons capable de lire un peu d’anglais. Premier épisode de ma carrière me rassurant quant aux efforts consentis dans mes études pour atteindre un bon niveau d’anglais dès la 6ème.

Armé de la documentation du TRS-80 qui parle surtout du langage Basic intégré, je vais commencer à apprendre. Toute première étape annonçant une suite de nombreuses heures passées à lire, décrypter, essayer, se planter, recommencer, … Une méthode que j’utilise toujours et encore dans mon quotidien.

C’est donc parce que j’ai déjà en tête un bon nombre d’instructions de langage de programmation Basic que je vais attaquer par la partie la plus complexe : programmer un ordinateur. Certes le langage Basic est simple et a été conçu pour que tout un chacun obtienne des résultats rapidement.

Mais la programmation n’est pas une démarche naturelle. Un être humain doué de la parole est capable en une phrase de trois ou quatre mots de dire à quelqu’un d’aller ouvrir une porte. C’est facile parce que les deux personnes partagent un même référentiel : le langage. Et les actions qui peuvent en découler. Un ordinateur, au plus simple de sa connaissance, ne sait lire que des 0 et des 1. Allez dire à une bécane qui ne comprend que des 0 et des 1 d’aller ouvrir une porte ! Bon courage ! C’est pourtant ce que la programmation va consister à établir. Il va falloir décrire à la machine toutes les actions pour que l’ordinateur puisse exécuter une tâche basique pour un être humain.

Faites l’exercice suivant : prenez de quoi écrire et essayer de définir étape par étape les actions d’un robot qui ne comprend pas la langue mais qui comprend des actions très simples comme par exemple : ‘tourne à gauche’, ‘tourne à droite, ‘lève toi’, ‘avance’, ‘recule’. Déjà, en lisant cette liste, vous vous apercevez qu’il manque des instructions. Tourner à gauche certes, mais dans quel sens, de combien de degré ou de tour. Lui dire ‘Avance’ c’est bien beau, mais de combien de pas, de quelle distance, … Pas simple l’histoire…

Voilà à quoi un programmeur en herbe était confronté : traduire dans un langage informatique des actions très humaines. Une simple addition que nous ferions de tête va prendre plusieurs lignes à programmer, disons 4 ou 5 si l’on veut faire un listing propre et compréhensible. Mais là où nos limites en calcul mental sont vites atteintes selon la taille des chiffres et nombres à traiter, les mêmes 4 à 5 lignes de programmation feront le travail de la même manière, et à quasiment la même vitesse, que vous demandiez à l’ordinateur d’additionner 3 + 9 ou que vous lui demandiez de diviser 5 879 415 par 154.

Devant le moniteur vidéo — dont l’image fluctue légèrement parce qu’il est prévu pour fonctionner avec une alimentation de 60 Hz et que le secteur lui fourni un 50 Hz bien de chez nous — je tape mes premiers programmes en me référant au manuel du langage Basic Level II comme illustré au début de ce billet.

PapGeek !

Une réflexion sur « Le premier week-end – Part II »

  1. Ping : 40 ans de micro-informatique ! | PapGeek

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *