Langage de programmation

Infos
Un langage de programmation est un code de communication, permettant à un être humain de dialoguer avec une machine en lui soumettant des instructions et en analysant les données matérielles fournies par le système, généralement un ordinateur. Le langage permet à la personne qui rédige un programme, de faire abstraction de certains mécanismes internes, généralement des activations et désactivations de commutateurs électroniques, qui aboutissent au résultat dési
Langage de programmation

Un langage de programmation est un code de communication, permettant à un être humain de dialoguer avec une machine en lui soumettant des instructions et en analysant les données matérielles fournies par le système, généralement un ordinateur. Le langage permet à la personne qui rédige un programme, de faire abstraction de certains mécanismes internes, généralement des activations et désactivations de commutateurs électroniques, qui aboutissent au résultat désiré. L'activité de rédaction du code source d'un programme est nommée programmation. Elle consiste en la mise en œuvre de techniques d'écriture et de résolution d'algorithmes informatiques, lesquelles sont fondées sur les mathématiques. À ce titre, un langage de programmation se distingue du langage mathématique par sa visée opérationnelle (une fonction et par extension, un programme, doit retourner une valeur), de sorte qu'un « langage de programmation est toujours un compromis entre la puissance d'expression et la possibilité d'exécution. »Gilles Dowek, Le langage mathématique et les langages de programmation, Colloque Voir, entendre, raisonner, calculer, Cité des sciences et de l'industrie, La Villette, Paris, 1997 —

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).

Langages déclaratifs

- Oz
-Mercury
-Prolog pour PROgrammation LOGique
-Clips 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 :

Langages de définition de données

-ASN.1
-DTD SGML
-DTD XML
-XML Schéma
-Relax NG

Langages spécialisés pour la communication avec une base de données

- 4GL
- SAS
- SQL
- Visual FoxPro (Description)
- W-Langage (WinDev, WinDev Mobile)
- Magic eDeveloper

Langages pour pages Web dynamiques

-Exécution par le serveur HTTP (côté serveur) :
-PHP.
-ASP.
-JSP (issu de Java, basé sur des Servlets).
-Python.
-Perl.
-Tcl.
-Framework Ruby on Rails basé sur le langage Ruby.
-XSP (issu de XML, soutenu par Apache).
-Tout langage dans le cadre de Common Gateway Interface (CGI).
-W-Langage (WebDev).
-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.
-Tclets écrits en Tcl.
-ActionScript de Macromedia Flash.
-XSLT.

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

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…
-Programmation de commande numérique

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

Pour rendre la programmation plus difficile

- Brainfuck (ou encore F
-ckF
-ck, Ook ou spoon)
- Intercal
- Malbolge
- Unlambda

Langages spécialisés

-CDuce : langage fonctionnel d'ordre supérieur pour la manipulation de documents au format XML.
-ABEL : langage pour la programmation électronique des PLD
-Esterel, Lustre, Signal, Lucid Synchrone : langages de programmation synchrones pour les systè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

Autres langages

- Fenix
- ABAP
- Anubis
- ArmScript
- awk
- Lisaac
- Miva Script
- SNOBOL
- sed
- Scripting mIRC
- , langage gratuit, développé par le Massachusetts Institute of Technology (MIT) et orienté vers une utilisation dès l'âge de 8 ans.

Notes et références

Voir aussi

- Langage de balisage
- Langage informatique
- Chronologie des langages de programmation
- af:Programmeertaal als:Programmiersprache am:የፕሮግራም ቋንቋ an:Lenguache de programazión ar:لغة برمجة ast:Llinguaxe de programación bg:Език за програмиране bn:প্রোগ্রামিং ভাষা br:Areg bs:Programski jezik ca:Llenguatge de programació cs:Programovací jazyk da:Programmeringssprog de:Programmiersprache el:Γλώσσα προγραμματισμού en:Programming language eo:Programlingvo es:Lenguaje de programación et:Programmeerimiskeel eu:Programazio-lengoaia fi:Ohjelmointikieli gl:Linguaxe de programación he:שפת תכנות hr:Programski jezik hu:Programozási nyelv ia:Linguage de programmation id:Bahasa pemrograman ilo:Lengguahe ti panangprograma is:Forritunarmál it:Linguaggio di programmazione ja:プログラミング言語 ka:დაპროგრამების ენა ko:프로그래밍 언어 lb:Programméiersprooch lt:Programavimo kalba lv:Programmēšanas valoda ml:പ്രോഗ്രാമിംഗ് ഭാഷ nl:Programmeertaal nn:Programmeringsspråk no:Programmeringsspråk pl:Język programowania pt:Linguagem de programação ro:Limbaj de programare ru:Язык программирования simple:Programming language sk:Programovací jazyk sl:Programski jezik sq:Gjuhë programimi su:Basa pamrograman sv:Programspråk ta:ஆணைமூலம் te:ప్రోగ్రామింగు భాష tg:Забони барномасозӣ th:ภาษาโปรแกรม tl:Wikang pamprograma tr:Programlama dilleri uk:Мова програмування vi:Ngôn ngữ lập trình zh:编程语言 zh-min-nan:Thêng-sek gí-giân
Sujets connexes
ABAP   APL (langage)   ASN.1   ActionScript   Ada (langage)   Advanced Boolean Expression Language   Algol (langage)   Applet   ArmScript   Automate programmable industriel   Awk   BASIC   Base de données   Brainfuck   CDuce   COBOL   C (langage)   C sharp   Caml   Chronologie des langages de programmation   Cité des sciences et de l'industrie   Clips (langage)   Code   Code source   ColdFusion   Common Gateway Interface   Common Lisp   Communication   Commutateur (électronique)   Compilateur   ECMAScript   Eiffel (langage)   Erlang (langage)   Esterel (langage)   Fenix Project   Forme de Backus-Naur   Forth (langage)   Fortran   Fraisage   Grafcet   Générateur automatique de programmes   Haskell   ICON   JScript   JavaScript   JavaServer Pages   Java (langage)   Kurt Gödel   Lambda-calcul   Langage Anubis   Langage Ladder   Langage de balisage   Langage de bas niveau   Langage de haut niveau   Langage graphique   Langage informatique   Limbo (langage)   Lisaac   Logique combinatoire   Logo (langage)   Lustre (langage)   ML (langage)   Machine-outil   Machine de Turing   Magic eDeveloper   Malbolge   Massachusetts Institute of Technology   Mathématiques   Natural   Navigateur Web   Objective C   Ordinateur   PL/I   Pascal (langage)   Perl (langage)   Pi-calcul   Programmation concurrente   Programmation de commande numérique   Programmation déclarative   Programmation fonctionnelle   Programmation impérative   Programmation informatique   Programmation orientée objet   Prolog   Python (langage)   Ramasse-miettes   Relax NG   Ruby   Ruby on Rails   SAS (langage)   SNOBOL   Scala (langage)   Scheme   Sequential function chart   Serveur HTTP   Servlet   Simula   Smalltalk   Spoon   Syntaxe   SystemC   Système T   Système de gestion d'exceptions   Tool Command Language   Tournage mécanique   Typage dynamique   Typage fort   Typage statique   Unlambda   VBScript   Verilog   Very High Speed Integrated Circuit Hardware Description Language   Visual FoxPro   W-Langage   WebDev   WinDev   WinDev Mobile   XLispStat  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^