Dans les années 70, naît le langage de programmation C, qui est encore
employé aujourd’hui, tout en ayant une descendance reconnue, comme C++
et C#. Connaissez-vous l’histoire de son nom ?
C’est l’un des langages de programmation les plus populaires au monde,
avec Python et Java. C’est aussi l’un des plus atypiques vu son nom :
juste une lettre, C, là où d’autres en comptent au moins quelques-unes,
voire sont formés de deux ou plusieurs mots (comme Visual Basic). Cette
dénomination n’est pas due au hasard : elle reflète l’évolution de la
programmation.
CPL, BCPL, B, C
Pour le comprendre, il faut remonter dans les années 70. Alors employé
dans les laboratoires Bell aux États-Unis, l’informaticien Dennis
Ritchie constate les limites d’un autre langage, appelé… B. Celui-ci
était une évolution du BCPL (Basic Combined Programming Language) et
précédemment du CPL (Combined Programming Language), tous deux apparus
dans les années 60.
De son côté, Kenneth Thompson, autre informaticien clé dans le
développement de C, a jugé au même moment qu’Unix avait besoin d’un
langage de programmation système. Unix est un type de système
d’exploitation lui aussi né dans les labs Bell à la fin des années 60 —
et déjà, on retrouvait Dennis Ritchie, Kenneth Thompson et un troisième
larron, Brian Kernighan, aux commandes.
À l’époque, Kenneth Thompson développe B. Le site des laboratoires Bell
suggère l’origine incertaine de ce nom. Il pourrait s’agir soit d’une
contraction de BCPL, soit d’une référence à un autre langage de
programmation, Bon. Il aurait été nommé ainsi d’après sa femme (Bonnie)
ou « d’après une religion dont les rituels impliquent le murmure de
formules magiques ».
Les informations proviennent des souvenirs de Dennis Ritchie, dans un
article sur le développement du langage C. Il a expliqué avoir repris
les bases du B, en ajoutant essentiellement les « types ». En
programmation, ils servent à définir la nature d’une donnée — un nombre
entier, un booléen (vrai/faux), etc –, ce qui renseigne sur les
opérations que l’on peut lui appliquer.
Ainsi, « Ken Thompson a créé le langage B en 1969-70 ; il était
directement dérivé du BCPL de Martin Richards. Dennis Ritchie a
transformé le B en C en 1971-73, en conservant la plupart de la syntaxe
du B tout en ajoutant des types et de nombreux autres changements, et en
écrivant le premier compilateur ». Par la suite, d’autres apports ont
été notables de 1972 à 1977.
C’est dans ce contexte que C a été baptisé ainsi, en optant pour la
lettre qui suit. À défaut d’être poétique, c’est un nom pragmatique.
Bien que décrit ironiquement comme « excentrique » et « imparfait » par
Dennis Ritchie, celui-ci a aussi admis sa popularité, permise par « les
accidents de l’histoire » et par un équilibre entre efficacité et
abstraction.
Après le C, le C++ et le C#
Le langage C a produit lui aussi une descendance notable. On pense en
particulier au langage C++ dans les années 80. Mis au point par Bjarne
Stroustrup, également informaticien pour les laboratoires Bell, ce
langage ajoute essentiellement les « classes » (une catégorie d’objets,
c’est-à-dire des éléments manipulés par un programme informatique).
Le langage C++ a aussi un nom particulier. Au lieu de choisir D, Bjarne
Stroustrup joue sur la symbolique du « ++ », un opérateur indiquant une
incrémentation. En clair, cela veut dire que l’on ajoute une valeur
d’une unité à une variable. Il s’agit en somme de faire comprendre que
C++ est un cran au-dessus de C. C’est le langage C +1, autrement dit.
C’est la même logique que l’on retrouve dans le C# (C Sharp). Le symbole
à côté du C est associé au dièse dans la musique — sa fonction est
d’indiquer sur une partition que la hauteur naturelle de la note
associée à ce dièse doit être élevée d’un demi-ton chromatique, dit
Wikipédia. En somme, il s’agit de suggérer que le C# est encore
au-dessus. C’est plus recherché qu’un simple langage E