Langage de programmation
Un article de Wikivisual, l'encyclopédie libre.
|
| Cet article fait partie de la série Langages de programmation |
| Langages à objets |
| C++ - C# Delphi - Eiffel - Java Python - Ruby Simula - Smalltalk Visual Basic - WinDev |
| Langages impératifs |
| APL - ASP - Assembleur BASIC - C - Cobol Forth - Fortran - Logo Pascal - Limbo - Perl - PHP |
| Langages fonctionnels |
| Haskell - ML/OCaml Lisp/Common Lisp Scheme XSLT |
| Langages déclaratifs |
| Clips - Prolog |
| Langages concurrents |
| Ada 95 - Erlang |
| Langage de balisage |
| HTML - SGML - XML S-expressions |
| Voir aussi |
| Conception - Codage Tests - Optimisations |
Un langage de programmation permet d'écrire des programmes. L'activité de rédaction du code source d'un logiciel est nommée programmation.
[modifier] Langages de programmation
Les langages de programmation permettent de définir les ensembles d'instructions effectuées par l'ordinateur lors de l'exécution d'un programme. Il existe des milliers de langages de programmation, la plupart d'entre eux étant réservés à des domaines spécialisés. Ils font l'objet de recherches constantes dans les universités et dans l'industrie.
Les langages de programmation peuvent être classifiés de nombreuses manières :
- généraliste/spécialisé,
- haut niveau/bas niveau,
- interprété/compilé,
- avec/sans gestion de mémoire automatisée,
- avec/sans système de gestion d'exceptions,
- à typage fort/typage faible,
- à typage statique/typage dynamique,
- à syntaxe fixe/extensible ;
- non objet/orienté objet/purement objet,
- impératif/fonctionnel/déclaratif,
- fonctionnel pur/impur,
- etc.
Nous incluons ci-dessous une classification sommaire des langages de programmation les plus connus. Il faut garder à l'esprit que de nombreux langages appartiennent simultanément à plusieurs catégories — ils sont dits « multi-paradigmes ». Par exemple, C++ permet la programmation impérative, orientée objet et la programmation générique (à base de classes et de fonctions paramétrées nommées templates). Common Lisp est à la fois impératif, fonctionnel, orienté objet — et son caractère « programmable » (un langage de programmation programmable...) lui permet d'intégrer d'autres « paradigmes » de programmation en son sein (par exemple : la programmation logique, la programmation par contraintes).
Ci-dessous, nous listons les langages les plus connus (nous mettons entre parenthèses certains langages dérivés ou les extensions requises).
| Nom | Impératif | Fonctionnel | Objets | Déclaratif | Concurrent | ||||||
| ActionScript | X | X | |||||||||
| Ada | X | X | |||||||||
| Algol | X | ||||||||||
| Anubis | X | X | |||||||||
| APL | X | APL2 | |||||||||
| Assembleur | X | ||||||||||
| BASIC | X | (Visual Basic) | |||||||||
| Caml | X | X | X | ||||||||
| C | X | CSS | X | ||||||||
| C++ | X | X | |||||||||
| C# | X | X | |||||||||
| COBOL | X | ||||||||||
| ColdFusion | X | ||||||||||
| Common Lisp | X | X | X | (screamer) | |||||||
| DarkBasic | X | X | |||||||||
| Eiffel | X | X | |||||||||
| Erlang | X | X | |||||||||
| Fortran | X | ||||||||||
| Forth | X | ||||||||||
| Haskell | X | (O'Haskell) | |||||||||
| ICON | X | ||||||||||
| Java | X | X | |||||||||
| Limbo | X | X | |||||||||
| Logo | X | ||||||||||
| ML | X | X | (Objective CAML) | ||||||||
| Objective C | X | X | |||||||||
| Oz | X | X | X | X | X | ||||||
| Pascal | X | (Delphi, Kylix) | |||||||||
| Perl | X | X | |||||||||
| PHP | X | (PHP 4+) | ASP | ||||||||
| PL/I | X | ||||||||||
| Python | X | X | X | Stackless | |||||||
| Prolog | X | ||||||||||
| RPG ou GAP | X | ||||||||||
| ColdFusion | X | ||||||||||
| Ruby | X | X | X | ||||||||
| Scala | X | X | X | X | |||||||
| Scheme | X | X | (TinyClos) | gambit, termite | |||||||
| Scriptol | X | X | |||||||||
| Simula | X | X | |||||||||
| Smalltalk | X | X | |||||||||
| Tcl | X | (Incr Tcl, Snit, XOTcl) | |||||||||
| WLangage | X | X (WinDev) | |||||||||
| XSLT | X | X |
[modifier] Langages déclaratifs
Ci-dessous, nous listons les langages spécialisés, c'est-à-dire dont l'utilisation est réservée à des domaines bien spécifiques ; les plus connus sont :
[modifier] Langages de définition de données
[modifier] Langages spécialisés pour la communication avec une base de données
[modifier] Langages pour pages Web dynamiques
- Exécution par le serveur HTTP (côté serveur) :
- Exécution par le navigateur Web (côté client) :
- JavaScript ou ECMAScript (dont JScript hérite avec des extensions spécifiques).
- VBScript.
- applets écrites en Java.
- ActionScript de Macromedia Flash.
- XSLT.
[modifier] Langages de programmation théorique
- Machine de Turing
- Lambda-calcul
- Récursion Primitive
- Système T de Kurt Gödel
- Pi-calcul
- Join-Calcul
- Logique combinatoire
[modifier] Langages de programmation de Commande Numérique (C.N.)
Une machine-outil automatisée, ou Commande Numérique (C.N.), a besoin d'un langage de programmation pour réaliser les opérations de tournage, ou de fraisage…
[modifier] Langages de programmation des automates programmables industriels (API)
- Sequential function chart, langage graphique, dérivé du grafcet (NB : le grafcet définit les spécifications de façon graphique)
- Langage Ladder, langage graphique
[modifier] Pour rendre la programmation plus difficile
[modifier] Langages spécialisés
- ABEL : langage pour la programmation électronique des PLD
- Esterel, Lustre, Signal, Lucid Synchrone : langages de programmation synchrones pour les sytèmes réactifs
- R : langage pour l'outil de statistiques du même nom
- xLispStat : langage pour l'outil de statistiques du même nom
- VHDL : langage de description matérielle, permettant de synthétiser de l'électronique numérique (descriptions de portes logiques) et d'en simuler le fonctionnement
- Verilog, autre langage de description matérielle et de simulation, plus populaire aux États-Unis
- SystemC, langage de description matérielle de plus haut niveau que les précédents et permettant une simulation plus rapide
- VRML, description de scènes en trois dimensions
- Forme de Backus-Naur (BNF), formalisation des langages de programmation
[modifier] Autres langages
[modifier] Voir aussi
| Image:Crystal mycomputer.png | Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique. |
am:የፕሮግራም ቋንቋ ar:لغة برمجة bg:Език за програмиране bn:প্রোগ্রামিং ভাষা ca:Llenguatge informàtic cs:Programování da:Programmeringssprog de:Programmiersprache en:Programming language et:Programmeerimiskeel el:Γλώσσα προγραμματισμού es:Lenguaje de programación eu:Programazio lengoaia eo:Programlingvo hr:Programski jezik ia:Linguage de programmation id:Bahasa pemrograman it:Linguaggio di programmazione he:שפת תכנות lv:Programmēšanas valoda lt:Programavimo kalba hu:Programozási nyelv nl:Programmeertaal ja:プログラミング言語 ka:დაპროგრამების ენა no:Programmeringsspråk pl:Język programowania pt:Linguagem de programação ro:Limbaj de programare ru:Язык программирования sk:Programovací jazyk sl:Programski jezik fi:Ohjelmointikieli sv:Programmeringsspråk tl:Wikang pangkompyuter th:ภาษาโปรแกรม vi:Ngôn ngữ lập trình tr:Programlama dilleri zh:程序设计语言


