Famille de langages de programmation
From Wikipedia, the free encyclopedia
Une famille de langages de programmation est un ensemble de langages de programmation partageant un lien de parenté ou des caractéristiques communes — tels le paradigme de programmation par exemple.
De nouveaux langages de programmation apparaissent tous les jours, souvent pour pallier les lacunes des langages déjà existants. Ils cherchent soit à amener de nouveaux concepts à un langage, soit à en corriger les défauts. Ils prennent souvent comme base des langages populaires parmi les programmeurs, soit parce que le concepteur du langage utilisait lui-même le langage d'origine, soit pour pouvoir plus facilement « convertir » les programmeurs du langage d'origine.
Certains langages sont totalement originaux, mais empruntent quelques concepts d'autres langages ou bien ils s'en inspirent. Par exemple, Boo s'inspire de la syntaxe de Python, mais son fonctionnement est radicalement différent. Certains langages sont tellement originaux, qu'ils débutent eux-mêmes une nouvelle famille de langages de programmation avec une descendance.
Les grandes familles de langages par parenté sont :
- la famille du C : C++, Objective-C, Java, C#, Perl, PHP, JavaScript ;
- la famille Pascal : Turbo Pascal, Delphi ;
- la famille Lisp : Common Lisp, Scheme ;
- la famille ML : SML, Caml, OCaml puis F# ;
- la famille Smalltalk : Objective-C, Ruby, Lisaac ;
- la famille BASIC : QBasic, Visual Basic, Visual Basic .Net, Visual Basic for Applications, VBScript, Gambas.
Caractéristiques communes
L'utilisation de caractéristiques communes est une frontière plus perméable pour les familles de langages de programmation que ne l'est la parenté ; l'utilisation du mot « famille » dans ce cas est peut-être un abus de langage.
Ainsi, les différents paradigmes de programmation groupent les langages de programmation en autant de « familles », même si certains langages sont multi-paradigmes tels Perl et Python.
La syntaxe des langages de programmation est aussi utilisée pour les séparer en familles : langages à accolades, langages à balises, etc.