Langages informatiques : définition et 4 grandes familles à distinguer

Les langages informatiques sont des langages formels, à la syntaxe stricte, qui servent à décrire des instructions, des données ou des structures qu’une machine sait traiter. Tous ne servent pas à programmer : selon ce qu’on leur demande (exécuter, interroger, structurer ou modéliser), ils se rangent en quatre familles.

Qu’est-ce qu’un langage informatique ?

Au sens large, un langage informatique est un langage formel utilisé pour concevoir, mettre en œuvre ou exploiter un système d’information. Au sens restreint, l’expression désigne seulement les langages de programmation.

Ce qui les distingue d’une langue naturelle tient à l’absence d’ambiguïté. Chaque langage fixe sa syntaxe (comment écrire une instruction), sa sémantique (ce que l’instruction produit) et ses mots réservés, que le programmeur ne peut pas employer pour autre chose. Une virgule oubliée suffit à faire échouer un programme.

Un langage de programmation est donc un cas particulier : un langage artificiel, fait de caractères et de symboles régis par des règles, qui sert à rédiger des programmes.

Les 4 grandes familles de langages informatiques

La classification courante sépare quatre familles, selon le rôle du langage. Les frontières ne sont pas étanches, mais chaque famille répond à un besoin distinct :

  • les langages de programmation décrivent des traitements à exécuter (C, Java, Python) ;
  • les langages de requête interrogent ou modifient des données (SQL) ;
  • les langages de balisage structurent un document (HTML, XML, LaTeX) ;
  • les langages de modélisation décrivent un système avant sa réalisation (UML, Merise).

Langages de programmation et de requête

Un langage de programmation implémente des algorithmes et des modèles de données : il dit à la machine quoi calculer, dans quel ordre et sous quelles conditions. C’est la famille la plus connue, celle des logiciels et des applications.

Un langage de requête se limite à des traitements sur des données déjà définies. SQL, de l’anglais Structured Query Language, lit ou modifie le contenu d’une base de données sans que l’utilisateur décrive comment la machine doit parcourir les tables.

Plusieurs écrans affichant des langages informatiques différents

Langages de balisage et de modélisation

Un langage de balisage ajoute au contenu d’un document des informations qui facilitent son traitement. HTML, le langage de balisage hypertexte, structure les pages web, mais il ne contient aucune logique de calcul. Son rôle diffère de celui des feuilles de style, comme l’explique notre comparatif sur la différence entre HTML et CSS.

Les langages de modélisation, dont UML, servent à concevoir un système avant de l’écrire. Ils s’adressent surtout aux humains : un schéma UML se lit en équipe avant que la première ligne de code n’existe.

Compilé ou interprété : comment la machine lit le code

Un processeur n’exécute que du langage machine. Tout code écrit dans un langage plus lisible doit donc être traduit, et le moment de cette traduction sépare deux modèles.

Avec un compilateur, la traduction a lieu avant l’exécution : le programme est converti une fois, puis lancé tel quel. C’est le cas du C. Avec un interpréteur, la traduction se fait pendant l’exécution, ligne après ligne. Python et JavaScript fonctionnent ainsi. L’interprétation sert surtout à la mise au point, la compilation est préférable en exploitation.

Processeur et carte mère d'un ordinateur vus de près

Java occupe une position intermédiaire. Son compilateur produit un langage intermédiaire, le bytecode, exécuté par une machine virtuelle. Pour faire tourner un programme sur une nouvelle plateforme, il suffit alors de porter cette machine virtuelle.

Bas niveau, haut niveau et paradigmes

Les langages de bas niveau, comme l’assembleur, restent proches du matériel : le programmeur manipule directement les registres et la mémoire. Les langages de haut niveau se rapprochent du langage naturel et masquent ces détails.

Ce choix a des conséquences sur la sécurité. En C, des fonctions comme gets ou strcpy ne contrôlent pas le nombre de caractères écrits en mémoire, ce qui ouvre la porte aux dépassements de tampon. Java vérifie les bornes des tableaux et évite cette classe d’erreurs. Pour comprendre comment une telle faille devient exploitable, consultez notre article sur la vulnérabilité logicielle.

Les langages se distinguent aussi par leur paradigme : impératif, objet, fonctionnel ou logique. Un même langage peut en combiner plusieurs, ce qui explique que les classements par paradigme restent approximatifs.

De Fortran à Python : pourquoi il existe autant de langages

Chaque langage est né d’un besoin précis. Fortran, dont le nom vient de FORmula TRANslator, traduisait des formules mathématiques en programmes. Cobol, dont la première version date de 1959, visait les applications de gestion. Viennent ensuite Lisp, Pascal, C, les langages objet comme C++ et Java, puis les langages interprétés du web.

Les langages anciens ne disparaissent pas pour autant : Cobol continue de faire tourner des applications de gestion, et la maintenance de tels systèmes relève du maintien en condition opérationnelle.

Par quel langage informatique commencer ?

La réponse dépend de l’objectif, pas d’un classement de popularité. Pour le web, on commence par HTML et CSS, puis JavaScript. Pour manipuler des données, SQL et Python forment un point de départ courant. Pour des applications ou des systèmes, Java et C demandent plus de rigueur, mais enseignent la gestion de la mémoire et le typage.

Trois critères aident à trancher : la facilité d’apprentissage, la qualité de la documentation et l’usage visé. Un langage au quotidien utile se retient mieux qu’un langage choisi pour sa réputation. Les architectures de calcul émergentes, comme l’informatique neuromorphique, pourraient à terme demander d’autres langages encore.

Apprendre un premier langage facilite le suivant, car les notions de variable, de condition et de boucle se retrouvent presque partout. Le plus simple reste de commencer par un petit projet concret et d’y rester le temps de le terminer.

Les immanquables