1ère génération : langage machine, notation directement compréhensible par la machine.
Ce langage "colle" au jeu d'instructions de l'ordinateur. C'est ce qu'on appelle également langage de bas niveau.
2ème génération : langage d'assemblage, les instructions du processeur et les divers registres disponibles sont représentés par des mots clés mnémotechniques
3ème génération : langages de haut niveau, langages procéduraux et structurés
besoins de gros programmes de calcul numérique ==> FORTRAN
besoin d'un langage permettant d'exprimer et de structurer aisément les constructions algorithmiques : Algol 60, Algol 68, Pascal (1971), Modula-2 (1983), C (1972).
besoins de simulation du monde réel : Simula-67, Smalltalk (1972, 1980), Eiffel, C++ (1986), Java
4ème génération : générateur de programme, langage de programmation permettant par exemple l'interrogation de base de données avec une syntaxe proche du langage humain.
Il existe aussi des langages de programmation orientés Web, comme perl et php.
Ces exemples sont extraits du syllabus de G. Mélard (Modélisation : partie informatique). Seront précisés :
date de création
caractéristiques
exemple (souvent pour calculer la somme de deux nombres)
1965
langage principalement interactif (souvent interprété), très diffusé, qui existe en un grand nombre de dialectes, peu structuré à l'origine.
Actuellement adapté à la programmation structurée et au mode graphique (Visual Basic de Microsoft)
1956
langage pour créer de gros programmes de calcul numérique, normalisé en 1966 (Fortran IV), en 1978 (Fortran 77), en 1991 (Fortran 90) et 1996 (Fortran 95)
reste le langage de choix pour ce type d'applications.
initialement lié au système Unix
compromis entre langage de haut niveau structuré et langage d'assemblage, beaucoup de type de données
C++, créé en 1981, ajoute l'orientation objet au C, tout en restant compatible avec lui. Il est à la base de très nombreux langages (Java, PHP, Perl, etc.)
C++ reste le meilleur outil pour la programmation système.
On peut programmer dans différents environnements et avec n'importe quel langage de programmation
En dépit de leurs différences de syntaxe, les langages ont en commun les éléments suivants :
libellés, variables, constantes, tableaux
Opérateurs arithmétiques, opérateurs conditionnels
Fonctions intégrées
Structures alternatives : si....alors....sinon
Structures répétitives : boucles
Procédures et arguments
Entrée-sortie