À la recherche du premier commentaire

Écrivez-vous votre code pour des humains ou des ordinateurs ? Je n’étais pas là, mais je suppose qu’à l’aube de l’informatique, les gens pensaient qu’ils écrivaient pour les machines. Après tout, ils écrivaient en langage machine, et tous les morceaux qu’ils injectaient dans le cerveau électronique restaient dans le cerveau électronique, à moins qu’ils ne soient découpés sur du ruban adhésif. Et les commandes faisaient faire des choses à la machine, pas aux autres. Le code a été écrit strictement pour les ordinateurs.

La pratique de la programmation moderne, en revanche, s’adresse fermement aux personnes. Les noms de variables et de fonctions sont choisis pour être longs et pour décrire ce qu’ils contiennent ou font. La « lisibilité » du code est un attribut prisé. En effet, parfois, le fait qu’il fasse la bonne chose semble presque être une réflexion après coup. (Je blague!)

Quelque part le long de ce chemin, il y a eu une étape évolutive importante, comme le premier poisson utilisant ses nageoires pour marcher sur terre. Des commentaires ont été intégrés aux langages de programmation, formalisant les notes que les codeurs d’autrefois écrivaient sûrement à la main dans les marges des premiers brouillons avant de les saisir. Je suis donc parti à la recherche du chaînon manquant : le premier langage informatique, et idéalement le premier programme, avec commentaires. Je suis venu les mains vides.

Ou plutôt à pleine main. Chaque langage informatique que j’ai pu trouver avait des commentaires depuis le début. FORTRAN avait des commentaires, marqués d’un « C » comme premier caractère d’une ligne. APL avait des commentaires, marqués par la rune bizarro ⍝. Même le langage personnalisé écrit pour les ordinateurs de guidage d’Apollo 11 comportait des commentaires – le désormais courant « # ». Je n’ai pas pu trouver un premier langage de programmation sans commentaires.

Je suppose que la première langue avec un commentaire doit avoir été un Assemblée langue, car je ne connais aucune machine avec une instruction de commentaire native. (À quel point serait-ce cool et frivole ?)

Les assembleurs traduisent simplement les noms mnémoniques en leurs homologues d’instructions machine, mais cela leur donne la liberté importante d’ignorer tout ce qui commence, traditionnellement, par un point-virgule. Même si vous ne faites que transférer le contenu du registre X vers l’emplacement mémoire pointé dans le registre Y, vous pouvez écrire que vous « stockez la hauteur au-dessus du sol (mètres) » dans les commentaires.

L’étape cruciale de l’évolution, cependant, consiste à enregistrer les commentaires avec le code. Ignorer simplement tout ce qui vient après le point-virgule et le jeter ne compte pas. Est-ce que quelqu’un sait? Quel a été le premier code à inclure des commentaires dans le code lui-même, et pas simplement en tant que marginalia ?