# Langage informatique

Un langage informatique est un langage formel non nécessairement Turing-complet utilisé lors de la conception, la mise en œuvre, ou l'exploitation d’un système d'information. Le terme est toutefois utilisé dans certains contextes dans le sens plus restrictif de langage de programmation.

## Les langages informatiques et le système d'information

Les langages informatiques interviennent à différents moments dans le cycle de vie d'un système informatique d'information (SII), voir des systèmes d'information formels SI.
Par exemple : description d'une procédure métier non informatisée en UML.
Certains sont utilisés lors des phases de spécification. UML et les formalismes graphiques définis dans Merise font partie de ces langages. Ils permettent de définir des modèles de données et de traitements.
Même si ces langages sont principalement destinés aux humains et non aux machines, ils sont classés parmi les langages informatiques car ils font partie du processus de développement des systèmes.
De plus, certains logiciels permettent de produire du code source, exprimé dans un langage de programmation, à partir de langages de conception.
Des méthodes formelles (langages mathématiques) et des langages algorithmiques sont également utilisés pour concevoir des traitements. La phase de mise en œuvre suit la phase de conception.
Durant cette étape sont principalement utilisés :
* des langages de programmation qui implémentent physiquement les modèles de données et de traitements, les méthodes formelles, et algorithmes. Ils sont appelés langages de programmation généralistes ;
* des langages de définition de données qui rendent concrets les modèles conceptuels de données ;
* des langages de requête, comme SQL, qui permettent de réaliser les traitements sur les données définie ;
* des langages de balisage, qui permettent de créer des interfaces utilisateur.

## Usages des langages informatiques

Outre la conception et la réalisation de SI, de nombreux autres langages sont employés par les SI et leurs utilisateurs.
Ainsi, les langages de programmation sont également utilisés pour d'autres tâches que la mise en œuvre.
Par exemple, des scripts permettent la maintenance du SI, ou l'écriture de pages Web ayant un contenu dynamique.
D'autres langages de programmation peuvent servir à l'écriture d'interface graphiques (comme XUL), programmer des commandes numériques ou automates programmables, faire des statistiques (avec R par exemple), et bien d'autres finalités.
Comme les langages de programmation, les langages de requête sont également largement utilisés hors du cadre de développement d'un SI.
Les langages de définition de documents, utilisés pour documenter le SI lors de sa conception et son développement, sont également manipulés par tous types d'utilisateurs. Ainsi, HTML permet d'écrire des pages Web ; XML autorise la structuration de contenu ; LaTeX, très utilisé par les scientifiques et universitaires, est capable de produire de nombreux types de documents… On notera que ces langages sont souvent des langages de balisage.
Certains langages sont plus spécialisés. Par exemple :
* les langages dédiés (ou DSL) qui sont créés spécifiquement pour un domaine précis (par opposition aux langages de programmation généralistes) :
** les langages liés au graphisme et à la 3D, comme POV-Ray ;
** les langages de notation musicale comme LilyPond ;
* les métalangages qui permettent de décrire d'autres langages, comme la notation BNF.