Site de Jean-Michel RICHER

Maître de Conférences en Informatique à l'Université d'Angers

Ce site est en cours de reconstruction certains liens peuvent ne pas fonctionner ou certaines images peuvent ne pas s'afficher.


stacks

1.1. Historique et caractéristiques du langage

1.1.1. Historique

L'historique suivant est issu du site wikipedia

  • 1972 : le langage C est inventé dans les Laboratoires Bell. Il était développé en même temps que UNIX par Dennis Ritchie (1941-2011) et Ken Thompson (1943-). Par la suite, Brian Kernighan (1942-) aida à populariser le langage C. Il procéda aussi à quelques modifications
  • 1978 : Kernighan fut le principal auteur du livre The C Programming Language décrivant le langage enfin stabilisé ; Ritchie s'était occupé des appendices et des exemples avec Unix. On appelle aussi ce livre le K&R
  • 1983 - 1989 : l'ANSI (American National Standards Institute) forme un comité de normalisation (X3J11) du langage qui abouti en 1989 à la norme dite ANSI C ou C89
  • Bjarne Stroustrup (1950-) commence à travailler sur ce qui deviendra C++ (C with classes) au début des années 1980
  • 1983 première version de C++
  • 1985 première commercialisation du C++ et première version The C++ Programming Language
  • 1989 : apparition de C++ 2.0, et deuxième édition The C++ Programming Language en 1991
  • 1994 : première version de la STL (Standard Template Library) , contributeurs Alexander Stepanov et Meng Lee
  • 1998 : standardisation du C++98 par l'ISO (International Organization for Standardization)
  • 1999 : une nouvelle évolution du langage est normalisée par l'ISO (International Organization for Standardization) : C99
  • 2011 : l'ISO (International Organization for Standardization) ratifie une nouvelle version du standard : C++11 qui initialement devait être C++0x
  • 2014 : corrections mineures et améliorations: C++14/1y
  • 2017 : révision majeure prévue C++17

1.1.2. Caractéristiques du langage

  • le langage C est un langage de programmation impératif (séquentiel) compilé
  • il alie les caractéristiques :
    • d'un langage de bas niveau (assembleur)
    • et celles d'un langage de haut niveau (structures de données, sous-programmes, typage fort)