Histoire de la programmation Années 1950 à 1960 Premier assembleur créé par Maurice V. Wilkes de l’université de Cambridge Grace Murray Hopper développe pour la marine américaine le premier compilateur, A0, capable de générer un programme binaire à partir d’un code source. 1954 : Développement de Fortran (FORmula TRANslation system). Implémenté en 57 par John Backus 1958 : Création du langage Lisp (LISt Processing) par John Mc Carthy, utilisant un syntaxe sous forme de de liste d’instructions -1959 : Grace Hopper participe à l’élaboration du langage COBOL (Common Business Oriented Language), utilisant une syntaxe à base d’expressions du langage naturel -1960 : Apparition du langage Algol (ALGOrithmic Language) dont le but avoué est de devenir LE langage universel de programmation
Fortran integer bottls Lisp do 50 i = 1, 99 bottls = 100 – i print 10, bottls format(1x, i2, 31h bottle(s) of beer on the wall. print 20, bottls format(1x, i2, 19h bottle(s) of beer.) print 30 format(34h Take one down and pass it around,) bottls = bottls – 1 print 40 format(1x) Continue stop end Lisp (defun beersong (n) "Does the n-beers song." (progn (insert (int-to-string n) " bottle" (cond ((= n 1) "") (t "s")) " of beer on the wall,\n") (insert (int-to-string n) " bottle" (cond ((= n 1) "") (t "s")) " of beer,\n") (insert "take one down and pass it around,\n") (insert (cond ((= n 1) "no more") (t (int-to-string (- n 1)))) " bottle" (cond ((= n 2) "") (t "s")) " of beer on the wall.\n\n") (cond ((> n 1) (beersong (- n 1))))))
Les années 1960 : Cobol et Fortran sont bien installés et deviennent les langages les plus utilisés. Lisp reste cantonné à la programmation de l'intelligence artificielle, son but premier. Algol devient un langage pour l'écriture d'algorithmes et ne sera que peu implanté comme langage de programmation. 1962 : Création du langage APL (A Programming Language) basé sur des notations scientifique. Il nécessite un clavier spécial. Il sera utilisé pour concevoir un ordinateur qui démarre sans carte perforées. 1964 : Création, par Thomas Kurtz et John Jeremy du langage BASIC. Destiné comme son nom l'indique à l'enseignement de la programmation. 1966 : LOGO, langage graphique permettant de déplacer un curseur à l'écran selon des ordres comme avancer ou tourner.
APL
Les années 1970 : 1970 : Voulant développer Algol, Niklaus Wirth finit par mettre au point Pascal. Ce langage devient très prisé pour l'apprentissage de la programmation. Dès 1970 : afin de doter Unix d'un langage "personnel", Ken Thompson décide de porter Fortran sur ce système, mais change d'avis et met au point un nouveau langage s'inspirant de BCPL nommé simplement … B Développement de Prolog (PROgrammation LOGique) basé sur une syntaxe d'expressions logiques 1972 : Dennis Ritchie améliore B et le dote d'un compilateur générant du code machine. Celui-ci sera appelé … C, et devient la référence des langages. Création de SmallTalk, le premier langage objet. 1975 : mise au point du langage Ada pour uniformiser la programmation des systèmes embarqués de l'armée américaine. Fin des années 1970 : Rexx et Awk sont créés. Awk : Il est principalement utilisé pour la manipulation de fichiers textuels pour des opérations de recherches, de remplacement et de transformations complexes Rexx : langage de niveau haut interprété fait pour l’apprentissage
Prolog AWK REXX initialize([Stench,Breeze,Glitter,no,no]) :- initialize_world(fig62), initialize_agent, stench(Stench), breeze(Breeze), glitter(Glitter). execute(_,[no,no,no,no,no]) :- agent_health(dead), !, % agent must be alive to execute actions format("You are dead!~n",[]). agent_in_cave(no), !, % agent must be in the cave format("You have left the cave.~n",[]). execute(goforward,[Stench,Breeze,Glitter,Bump,no]) :- decrement_score, goforward(Bump), % update location and check for bump update_agent_health, % check for wumpus or pit stench(Stench), % update rest of percept awk '{s=s+$1} END {print s}' fichier écrit la somme des tous les nombres de la première colonne de fichier. awk '$1~/2/ {print $0}' ref.txt affiche toutes les lignes où le caractère 2 est présent dans le premier champ. REXX say hello /* => HELLO */ hello = 25 say hello /* => 25 */ hello = "say 5 + 3" say hello /* => say 5 + 3 */ interpret hello /* => 8 */ drop hello
Les années 1980 : Création de Dbase pour la gestion des bases de données. 1983 : le C se dote d'une extension destinée à la programmation objet, et devient C++ 1986 : Larry Wall améliore Awk et développe Perl. 1988 : Afin de faciliter le développement d'interfaces graphiques, John Osterout créé TCl et Tk, qui sont vite regroupés et aujourd'hui appelé Tcl/Tk. Fin des années 80 : langages de script mathematica et Maple pour les mathématiques formelles.
Les années 1990 : Apparition de Windows et Linux Pascal évolue en Turbo Pascal, puis Pascal Windows et devient enfin Delphi 1995 : Java est inventé afin d'avoir un langage orienté objet indépendant du système d'exploitation. Les années 2000 : Toujours dans le but d'uniformiser le développement des applications, Microsoft met au point le système de plateforme .net et les langages #, notammment C# et J#.