les langages de programmation
Unisciel/K.Zampieri
1
Généalogie partielle des langages de programmation
FORTRAN
ALGOL60
LISP
COBOL
BASIC
ML
PL/1
C
SIMULA 67
PASCAL
SMALLTALK
PROLOG
ADA
C++
MODULA-2
JAVA
Plus de 4000 langages
2
Le choix d'un langage n'est pas neutre Y-a-t-il un langage universel? LISP
L'assembleur
C
PASCAL
C++
JAVA
Delphi
3
Le choix d'un langage n'est pas neutre (2)
Un langage facilite la résolution de classes de problèmes :
• C : système d'exploitation (Unix/Linux)…
• C++ : applications de grande taille…
• JAVA, C# : applications de grande taille, web…
• LISP : prototypage, systèmes experts…
4
Paradigmes des langages évolués
(dits aussi de haut niveau)
• Désigner :
– Expliciter une entité en la nommant et en lui associant une définition (au moins intuitive)
• Typer :
– Connaître les propriétés pertinentes d'une entité
• Paramétrer :
– Traiter un problème plus général que le problème posé
– Améliorer la résistance de la solution aux changements
– Réutiliser
5
Paradigmes des langages évolués
(dits aussi de haut niveau) (1b)
• Sérialiser :
– Construire des séquences d'actions
• Décomposer par cas :
– Découper le domaine des données initiales
• Itérer :
– Introduire un sous-problème intermédiaire paramétré
Réduire la complexité d'un problème
6
Les types de programmation
Application informatique : Mise en oeuvre des traitements des données et des relations entre les deux.
Génération 1 : Programmation Spaghettis :
• Assembleur, Fortran I, Basic
• Logique de saut « goto ». Absence totale d'entités autonomes et modifiables indépendamment du reste du programme. • Code et données étroitement imbriqués.
7
Les types de programmation (2)
Génération 2 : Programmation Structurée :
• Pascal, C, Algol, Perl, Python
• Expression séparée des données et des traitements.
• Modularité :
–