Langage de programmation

Un langage de programmation est un système de notation structuré permettant à un humain d’écrire des instructions précises qu’un ordinateur peut exécuter pour accomplir des tâches.

Un langage de programmation, c’est une langue intermédiaire entre les humains et les machines.
L’ordinateur ne comprend que le binaire (0 et 1), mais écrire directement en binaire est impossible pour un humain.

Les langages de programmation offrent une syntaxe lisible (mots-clés, structures logiques) que l’on peut ensuite traduire en code machine via un compilateur ou un interpréteur.

Analogie simple :
C’est comme donner des ordres à un robot cuisinier :

  • En binaire : « 01010011 01100001 01101100 01100101 » → incompréhensible.
  • En langage de programmation : ajoute_sel(quantite=5g) → clair, précis, exécutable.

À quoi ça sert ?

  • Créer des sites web (HTML/CSS/JavaScript, PHP, Python),
  • Développer des applications (mobiles, bureautiques, embarquées),
  • Automatiser des tâches répétitives (scripts en Bash, Python),
  • Analyser des données (R, Python, SQL),
  • Construire des infrastructures cloud (Terraform, YAML),
  • Piloter des systèmes embarqués (C, Rust).

Principaux types de langages

TypeCaractéristiquesExemples
Langages bas niveauProches du matériel, très rapides, peu abstraitsC, Assembly
Langages haut niveauAbstraits, lisibles, portablesPython, JavaScript, PHP, Java
Langages déclaratifsOn décrit ce qu’on veut, pas comment le faireSQL, HTML, CSS, YAML
Langages orientés objetOrganisation autour d’« objets » (données + comportements)Java, C++, Python
Langages fonctionnelsBasés sur des fonctions mathématiques puresHaskell, Elixir, Scala

Note : HTML et CSS ne sont pas des langages de programmation (ils ne contiennent pas de logique algorithmique), mais ils sont souvent regroupés dans les « langages web ».

Comment ça devient exécutable ?

  • Langages compilés : le code est traduit une fois pour toutes en binaire (ex. : C, Rust, Go). → Rapide à l’exécution.
  • Langages interprétés : le code est lu et exécuté ligne par ligne à chaque lancement (ex. : Python, PHP, JavaScript). → Plus flexible, parfois plus lent.
  • Langages hybrides : compilés vers un bytecode exécuté par une machine virtuelle (ex. : Java → JVM, C# → .NET).

Pourquoi choisir un langage plutôt qu’un autre ?

  • Objectif du projet (web, data, système, embarqué),
  • Écosystème (bibliothèques, outils, communauté),
  • Performance requise,
  • Facilité d’apprentissage,
  • Intégration dans l’infrastructure existante.
Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.