ANNÉES 1940

Short Code

Le Short Code naquit dans un monde où la programmation s'apparentait davantage à de l'ingénierie électrique qu'à l'écriture de code telle qu'on la conçoit maintenant. En cette fin des années 1940, l'informatique balbutiait avec des machines monumentales remplissant des salles entières pour une puissance de calcul désormais ridicule.

L'histoire débute dans les laboratoires de l'école d'ingénieurs Moore à l'université de Pennsylvanie. C'est là que John Mauchly, physicien reconverti à l'électronique, travailla dès 1941 sur un projet militaire visant à calculer des tables balistiques. Face aux limites des calculateurs, il imagina une machine entièrement électronique : l'ENIAC.

Cette machine colossale, mise en service en 1946, exécutait 5 000 additions par seconde – un exploit technique sans précédent. L'ENIAC souffrait toutefois d'un défaut : l'absence de programme enregistré. Chaque calcul nécessitait de modifier manuellement les connexions des circuits, un travail fastidieux qui pouvait prendre plusieurs jours.

Pour dépasser cette contrainte, Mauchly et son collaborateur J. Presper Eckert conçurent dès 1944 l'EDVAC, intégrant le concept de programme stocké en mémoire. Leur départ de l'université en 1946, suite à des désaccords sur la propriété intellectuelle, retarda cependant le projet qui n'aboutit qu'en 1951. Mauchly proposa alors, en juillet 1949, un langage plus accessible que le code machine : le Short Code, initialement nommé Brief Code.

Le Short Code se démarquait par sa simplicité conceptuelle. Plutôt que d'écrire directement en binaire, les programmeurs utilisaient des expressions mathématiques. Le langage supportait les nombres à virgule flottante, les variables, les sauts conditionnels et l'appel à des sous-routines stockées séparément. Le manuel de l'UNIVAC illustrait cette syntaxe novatrice par des exemples comme :

00 IXABC            I est mis à la valeur X+(A*B*C)
01 BVII             Aller à l'instruction 11 si B est positif
02 HRDW             Imprimer les valeurs de R, D et W

Cette approche, bien que rudimentaire selon nos standards actuels, représentait une rupture avec les méthodes antérieures. Les programmes restaient néanmoins complexes et devaient être traduits manuellement en langage machine – le compilateur n'existait pas encore. Les tests montrèrent que le code écrit en Short Code s'exécutait environ 50 fois plus lentement qu'un programme équivalent en langage machine, suscitant le scepticisme de nombreux spécialistes. Malgré ces limites, le Short Code a marqué une étape décisive. Pour la première fois, l'algorithme prenait forme indépendamment de la machine, permettant l'émergence des langages plus évolués comme Fortran (1957) ou Algol (1958). Les concepts qu'il introduisit – expressions mathématiques, variables, branchements, sous-programmes – devinrent les fondements de la programmation moderne.

L'œuvre de Mauchly et Eckert ne se limita pas au Short Code. Après l'ENIAC et l'EDVAC, ils créèrent le BINAC (Binary Automatic Computer, 1949), premier ordinateur à programme enregistré opérationnel, puis l'UNIVAC I (1951), premier ordinateur commercial de l'histoire. William Schmitt développa un prototype de Short Code sur le BINAC, ensuite adapté à l'UNIVAC I, et enfin à l'UNIVAC II. En fondant l'Eckert-Mauchly Computer Corporation dès 1946, ils furent les premiers à tenter de commercialiser ces machines extraordinaires, dont l'utilité restait mystérieuse pour le grand public.

Le Short Code, en libérant partiellement les développeurs de la complexité matérielle, contribua à démocratiser la programmation et accéléra l'essor de l'industrie informatique. Soixante-dix ans après les travaux de Mauchly, la quête de langages expressifs, sûrs et performants, comme Rust par exemple, demeure au cœur des préoccupations des informaticiens du XXIe siècle.