Projet Tuteuré :
Générations de Langages :
Les langages de programmation ont en tout 5 générations.
1GL/2GL/3GL/4GL/5GL en anglais ||| L1G/ L2G/ L3G/ L4G/ L5G en français
1ère Génération :
Les langages machine, ce sont des langages peu lisible, il n'y avait pas encore de fonctions à écrire
en anglais. Ce sont les plus vieux langages mais aussi les plus puissant car ils sont directement liés
au processeur. C'est le cas du Code Machine, composé de 0 et de 1. Le programmeur qui
programme avec du Code Machine doit connaître parfaitement le processeur sur lequel il
programme. Ce qui fait que si on change de processeur le programme doit changer. La portabilité
d'un programme en Code Machine est donc difficile à mettre en place.
2ème Génération :
Les langages assembleurs. Ils ont les mêmes défauts que le Code Machine pour la portabilité mais
on commence à utiliser une syntaxe plus proche du langage humain. Il est donc plus facilement
lisible et utilisable mais il reste réservé à des personnes de haut niveau et à des programmes de bas
niveau. Il est très difficile de concevoir un moteur 3D en assembleur. Mais si ceci se fait un jour ce
serai un moteur très rapide.
3ème Génération :
Ceux-ci nous interessent plus dans l'étude de faire « du neuf avec du vieux », ceci est du à leur
portabilité qui est maintenant plus grande. On peut plus facilement comparer les programmes de
différents langages car ils sont dotés de systèmes communs tels que les conditions, les boucles, les
fonctions, les types. Il sont donc dit de langages structurés.
Ces langages sont, de plus, écrit dans une syntaxe proche de l'anglais, ils gagnent en lisibilité, et
sont donc plus facile à comprendre pour les débutants. Il existe une énorme variété de langages de
3eme génération , c'est pour cela qu'ils ont été divisés en plusieurs groupes. (cf: La partie Types de
langages). Ces langages sont en constante évolution et sont les plus utilisés.
4ème Génération :
Les langages de programmation de cette génération sont des programmes qui s'occupent de tâches
spécifique, ils n'ont aucuns liens entre eux. Le SQL s'occupe de la base de donnée pour
accompagner le PHP.
D'autres langages tels que PostScript ou Metafont s'occupent de la production graphique.
D'autres encore sont présents pour la création d'interface ( ex: 4D).
MATLAB est aussi un langage 4GL/L4G.
Leur avantage sont qu'ils sont intégrées dans un environnement de développement rapide.
Avantage qu'ils transmettent aux langages de 5ème génération.
5ème Génération :
Ces langages de programation ne se servent pas d'algorithmes pour résoudre des problèmes mais de
contraintes. C'est plutot utilisé pour les études sur l'intelligence artificielle.
En clair, le programmeur doit penser à aux problèmes que le langage doit résoudre et sous quelle
conditions et ensuite, tout est fait directement par l'ordinateur, il n'y a donc pas besoin de mettre en
oeuvre une routine ou un algorithme pour les résoudre.
Quelques langages connus : Prolog, OPS5, Mercury.
Petite appartée : WEBDEV un L5G :
Il permet de faciliter la programmation Web en génèrant des codes PHP, HTML, Javascript
automatique.