Valid XHTML 1.0!                  

 

 

  [petite] histoire des
  Langages de Programmation

 

     (gH) gilles.hunault@univ-angers.fr

 

 

0. Pourquoi cet exposé ? Quel plan ?

 

Les langages de programmation ont aujourd'hui environ 60 ans puisque les "vrais" premiers langages de programmation sur ordinateur datent des années 1950. Avec le développement d'Internet et des ressources informatiques, les langages informatiques sont omniprésents, qu'on le sache ou pas. Il nous a semblé utile de fournir un peu de culture et de recul pour envisager les 50 (les 500 ?) prochaines années car aujourd'hui (2015), savoir programmer c'est aussi utile que de savoir conduire.

Si vous lisez ces pages, par exemple le soir dans votre teepee (tipi, en anglais) avec Renard de Feu (Firefox en anglais) juste avant «plus belle la vie» ou si vous consultez Trombinoscope (Facebook en anglais), vous utilisez forcément, mais sans le savoir, les langages HTML, PHP, JAVASCRIPT, dont seuls les deux derniers sont des langages de programmation.

Prenons trois autres exemples : un voyage en avion, la rédaction d'un document comme un rapport de stage et la recherche d'un "bon" film au cinéma.

Lorsqu'on voyage en avion, il y a beaucoup de technologie, d'électronique. Mais une grande partie de la mise en oeuvre technique est réalisée par le ou les ordinateurs de bord, comme le "pilote automatique". Cet ordinateur utilise un programme qui a été écrit par des humains, les "programmeurs", dans un certain langage. Ce langage a des caractéristiques qui ne sont pas celles de n'importe quel langage : il faut en effet pouvoir réagir en "temps réel" aux évènements... et c'est donc peut-être le langage Ada. Le billet d'avion et la réservation de la place associée correspondent à ce qu'on aurait nommé "une prouesse technique" il y a 50 ans. Songez : de partout dans le monde on réserve une place dans un avion. Ce qui signifie que l'information, centralisée, stockée dans une base de données est accessible, modifiable par n'importe quel opérateur autorisé à le faire. Cela ne nous étonne pas, mais il y a de nombreuses difficultés à gérer ce genre de ressources pour éviter des conflits dus à des "accès concurrents" comme on dit en informatique...

Pour rédiger un simple document, pas besoin d'ordinateur : il suffit d'un papier et d'un crayon. Mais dès qu'il va falloir faire une table des matières automatique, numéroter les pages, il vaut mieux utiliser un traitement de textes, Word, par exemple. Word est un programme. Lui aussi est écrit dans un certain langage et ce n'est sans doute pas le même que le précédent. Le plus important n'est sans doute pas de savoir de quel langage il s'agit (d'ailleurs qui le sait ? ne serait-ce pas le langage Modula ?) mais bien de savoir utiliser Word. Windows, même, est aussi un programme et il est donc lui aussi écrit dans un certain langage (le langage C ?)... Si nous reprenons notre document Word, et si nous avons besoin d'écrire des listes de codes pour des clients comme 105, 106, 107 ou 32701, 32702... 32758 il peut être intéressant de savoir programmer la liste de n nombres entiers consécutifs à partir d'une valeur initiale (ou "termes d'une suite arithmétique de raison 1"), par exemple sous forme d'une "macro" avec le langage de programmation VBA intégré à Word. Le document, lui, pourra être conservé sous forme d'une description dite "riche" au moyen du langage RTF qui n'est pas un langage de programmation.

Pour choisir un "bon" film on peut choisir sur Internet la liste des cinémas proches, puis utiliser un formulaire pour indiquer nos préférences sur nos genres, les horaires voulus... Un formulaire Internet est en général écrit dans un langage qui n'est pas un langage de programmation mais un langage de description : le langage HTML. Par contre lorsqu'on envoie le formulaire, il y a souvent un langage de programmation qui assure la connection à la base de données, la recherche et la mise en forme des résultats. Par exemple, ce pourrait être le langage PHP qui utilise des bases de données [my]SQL qu'on interroge via le langage SQL...

Nous venons déjà de citer environ une dizaine de langages informatiques : Ada, Modula, C, Javascript, VBA, RTF, HTML, PHP, SQL. Comme ce ne sont pas tous des langages de programmation, nous allons essayer dans cet exposé de situer ce que sont les langages de l'informatique, en faisant un détour par la différence entre langue et langage avant de nous intéresser aux seuls langages de programmation et à leur histoire.

Comme il y a eu et il y a encore beaucoup de langages de programmation, avec leurs variantes, dialectes, filiations, le parcours sera difficile parce que non forcément chronologique. Sinon, ce serait une simple énumération. Comme les langues, les langages ont une vie ou plutôt des vies, des cycles de vie. Ils n'échappent ni à la mode ni à l'air du temps. Ainsi les "nouveaux langages" se doivent d'êtres capables de dialoguer avec une interface utilisateur avec des boutons, des fenêtres, ils doivent savoir exécuter des requêtes via Internet...

Pour montrer l'ampleur de la tâche qui consiste à décrire l'histoire encore changeante de ces langages de programmation, on pourra consulter l'excellente page d'Eric LEVENEZ à l'adresse

        http://www.levenez.com/lang/

(une copie locale est ici et un poster [PDF] en couleurs est ) dont le diagramme d'évolution des langages ainsi que la page (non à jour) de Pixel sur l'étude des langages à l'adresse

[...]diagram.html

Là, l'auteur, pour résoudre le problème du foisonnement et des recoupements entre langages, a décidé de fournir un diagramme "light" c'est à dire simplifié et un autre plus détaillé.

light détaillé

Comme l'indique la page

http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm

dont une copie locale est ici, plus de 2500 langages sont référencés en 2003, ce qui représente donc un casse-tête de représentation ! A titre de comparaison, en 1967 il n'y avait que 120 langages de programmation (dont 15 seulement étaient vraiment utilisés). Pour les premiers langages depuis 1954, il faut regarder :

http://www.digibarn.com/collections/posters/tongues/ComputerLanguagesChart.png

Enfin, pour les amateurs de bière (car il semblerait que 95 % des programmeurs boivent de la bière), une chanson à boire dont le texte était écrit à l'aide de 227 langages de programmation différents dans les années 1990 :

bière        

[...]99bottles/beer.html

       

(version locale ici).

Aujourd'hui la liste comporte plus de 1300 langages de programmation différents...

Le plan de l'exposé sera le suivant : après avoir cerné la différence entre langue et langage, nous regarderons ce que sont les divers langages qu'utilise l'informatique. Ensuite nous détaillerons ce qu'est un langage de programmation et nous essaierons de brosser un panorama par décennie de l'apparition des langages de programmation. Nous aborderons alors l'avenir pour les 500 prochaines années de ces langages de programmation. Pour finir, nous effectuerons une démonstration de quelques langages classiques particulièrement remarquables dont la plupart sont installés sur les ordinateurs de la Faculté des Sciences d'Angers avant de montrer en conclusion quelques langages "exotiques et délirants".

 

Suite de l'exposé : langue et langage.

 

 

        retour au plan de l'exposé  

 

  retour gH    Retour à la page principale de   (gH)