Langages informatiques : définition, familles et exemples concrets

Un langage informatique est un langage formel, avec une syntaxe et des règles strictes, qui décrit des instructions, des données ou une structure qu’une machine peut traiter. Les langages informatiques ne servent pas tous à programmer : HTML structure une page web, SQL interroge une base de données, Python ou C écrivent des programmes complets.

Qu’est-ce qu’un langage informatique ?

Un langage informatique est un langage formel utilisé pour concevoir, mettre en oeuvre ou exploiter un système d’information. Contrairement à une langue naturelle, il ne tolère aucune ambiguïté : une instruction mal écrite est rejetée ou produit un autre résultat que celui attendu.

Le terme est plus large que celui de langage de programmation. Dans la pratique, on l’emploie parfois comme synonyme, mais un langage de balisage ou un langage de requête n’écrit pas de programme au sens strict.

Les grandes familles de langages informatiques

On classe les langages selon ce qu’ils décrivent. Le tableau ci-dessous résume les familles les plus courantes avant le détail de chacune.

Famille Rôle Exemples
Programmation Écrire des algorithmes et des traitements C, Java, Python
Script Automatiser et animer des pages JavaScript, Bash, PHP
Balisage Structurer un contenu HTML, XML
Requête Interroger des données SQL
Modélisation Spécifier avant de développer UML

Feuilles de code et schémas posés sur une table de travail

Programmation et script

Les langages de programmation généralistes implémentent les données, les traitements et les algorithmes. C, Java et Python en font partie. Les langages de script, comme JavaScript, Bash ou PHP, sont exécutés par un interpréteur et servent à automatiser des tâches ou à animer une page.

Balisage et feuilles de style

HTML et XML ne calculent rien : ils marquent la structure d’un contenu, avec des titres, des paragraphes et des listes. CSS complète HTML en décrivant la présentation, sans être un langage de programmation.

Requête et modélisation

SQL exploite les bases de données relationnelles : il permet de rechercher, d’ajouter, de modifier et de supprimer des données. Il a été normalisé par l’ANSI en 1986, puis par l’ISO en 1987. Pour un exemple de traitement de texte dans ce domaine, voir la fonction stxt en informatique.

UML appartient aux langages de conception. Il s’adresse d’abord aux humains, qui spécifient un système avant de l’écrire, mais il reste classé parmi les langages informatiques.

Bas niveau, haut niveau : la distance avec la machine

Le langage machine est la seule chose que le processeur exécute directement, sous forme de suites de nombres binaires. L’assembleur le rend lisible en remplaçant ces nombres par des mnémoniques, mais il reste attaché à un type de processeur.

Les langages de haut niveau, comme Python ou Java, se rapprochent de la pensée humaine. Ils gagnent en lisibilité et en portabilité, mais cèdent un peu de contrôle sur le matériel.

Cette distance a aussi un effet sur la fiabilité : en C, le programmeur gère lui-même la mémoire, ce qui explique une partie des failles qui touchent la sécurité du système d’information.

Compilé ou interprété : comment le code s’exécute

Un langage compilé, comme C ou Rust, est traduit une fois pour toutes en langage machine par un compilateur. Le programme obtenu s’exécute directement, ce qui le rend rapide, mais il dépend de la plateforme pour laquelle il a été compilé.

Un langage interprété, comme Python, est lu et exécuté instruction par instruction par un interpréteur. Le même code tourne partout où l’interpréteur existe, au prix d’une exécution plus lente.

Processeur et carte mère vus de près sous une lumière froide

Java et C# adoptent une voie mixte. Le code source est compilé en bytecode, un code intermédiaire exécuté par une machine virtuelle : la JVM pour Java, le Common Language Runtime pour C#. Une compilation à la volée le convertit en langage machine pendant l’exécution.

Les paradigmes de programmation

Un paradigme est une manière d’organiser un programme. Quatre sont courants :

  • Le paradigme impératif enchaîne des instructions qui modifient un état, comme en C.
  • Le paradigme orienté objet regroupe données et traitements dans des objets, comme en Java.
  • Le paradigme fonctionnel construit le programme à partir de fonctions, comme en Haskell.
  • Le paradigme logique décrit des règles et laisse le système déduire les résultats, comme en Prolog.

Beaucoup de langages actuels, dont Python et JavaScript, sont multiparadigmes : ils permettent de mélanger ces styles dans un même projet.

Quel langage pour quel usage ?

Le choix dépend de ce qu’on veut produire. Pour une page web, HTML structure, CSS met en forme et JavaScript ajoute le comportement. Pour les données, SQL interroge les bases et Python les analyse. Pour les applications mobiles, Kotlin cible Android et Swift cible iOS. Pour les systèmes et l’embarqué, C et C++ restent la référence. Pour l’automatisation, Bash et Python suffisent le plus souvent.

La popularité des langages évolue d’une année à l’autre ; elle est détaillée dans le classement des langages les plus utilisés. Pour débuter, Python et JavaScript offrent une syntaxe accessible et un résultat visible rapidement.

Apprendre un premier langage se fait seul ou en cursus, et le choix d’une formation en informatique mérite quelques vérifications.

Repères historiques, de Fortran à Python

Fortran, créé autour de John Backus, date de 1954, et COBOL de 1959. Le langage C est développé par Dennis Ritchie et Ken Thompson aux Bell Laboratories entre 1969 et 1973, pour le système Unix. C++ suit en 1983 avec Bjarne Stroustrup.

Python apparaît en 1991, Java chez Sun Microsystems en 1995 et JavaScript, de Brendan Eich, en 1996. Chaque génération ajoute un niveau d’abstraction, et les langages récents laissent au programmeur de moins en moins de détails matériels à gérer.

Les plus plébiscités