Aller au contenu
connaissance.org

Numérique · Compétences informatiques

Langages de programmation

Un langage de programmation est un langage formel qui sert à écrire des instructions exécutables par un ordinateur. Python, JavaScript, Java ou C diffèrent par leur usage et leur niveau.

Mis à jour le 4 min de lecture

Un processeur ne comprend que des instructions élémentaires codées en binaire. Écrire directement dans ce langage machine est extrêmement fastidieux. Les langages de programmation permettent d’exprimer un algorithme de façon lisible par un humain, avec des mots-clés, des variables et des structures, puis de le traduire automatiquement en langage machine. Il en existe des centaines ; une quinzaine concentrent l’essentiel de l’usage professionnel.

Bas niveau et haut niveau

NiveauDescriptionExemples
Langage machineInstructions binaires propres à un type de processeur10110000 01100001
AssembleurMnémoniques lisibles, une instruction par opération du processeurMOV, ADD, JMP
Bas niveau / systèmeProche du matériel, gestion manuelle de la mémoireC, C++, Rust
Haut niveauAbstraction du matériel, gestion automatique de la mémoirePython, Java, JavaScript, C#
Langages spécialisésDédiés à un domaineSQL (bases de données), R (statistiques), HTML et CSS (qui sont des langages de description, pas de programmation au sens strict)

Compilé ou interprété ?

  • Un langage compilé est traduit avant l’exécution, une fois pour toutes, en un fichier exécutable (C, C++, Rust, Go). L’exécution est rapide, mais il faut recompiler pour chaque type de machine.
  • Un langage interprété est lu et exécuté au fur et à mesure par un programme appelé interpréteur (Python, JavaScript à l’origine, PHP). Il est plus souple, souvent plus lent.
  • Beaucoup de langages sont hybrides : Java et C# sont compilés vers un code intermédiaire (bytecode) exécuté par une machine virtuelle ; les moteurs JavaScript modernes compilent le code à la volée (JIT).

Les grands paradigmes

ParadigmePrincipeLangages typiques
Impératif / procéduralSuite d’instructions qui modifient l’état du programmeC, Pascal
Orienté objetLe programme est organisé en objets qui regroupent données et comportementsJava, C#, C++, Python
FonctionnelCalcul par composition de fonctions, sans modification d’étatHaskell, OCaml, Elixir ; traits fonctionnels en JavaScript, Python
DéclaratifOn décrit le résultat voulu, pas la marche à suivreSQL, Prolog

La plupart des langages modernes sont multiparadigmes.

Comparatif des langages les plus utilisés

LangageCréationUsages principauxPoints fortsDifficulté pour débuter
Python1991 (Guido van Rossum)Données, IA, automatisation, scripts, webSyntaxe lisible, immense écosystèmeFaible
JavaScript1995 (Brendan Eich)Web (navigateur et serveur avec Node.js)Seul langage exécuté nativement par les navigateursFaible à moyenne
TypeScript2012 (Microsoft)Applications web d’envergureJavaScript avec typage statiqueMoyenne
Java1995 (Sun Microsystems)Applications d’entreprise, Android historiqueRobuste, portable, très répandu en entrepriseMoyenne
C#2000 (Microsoft)Applications Windows, jeux (Unity), webÉcosystème .NET completMoyenne
C1972 (Dennis Ritchie, Bell Labs)Systèmes d’exploitation, embarquéPerformance, contrôle du matérielÉlevée
C++1985 (Bjarne Stroustrup)Jeux vidéo, logiciels exigeants, financePerformance et abstractionÉlevée
Rust2015 (version 1.0)Programmation système sûreSécurité mémoire sans perte de performanceÉlevée
Go2009 (Google)Serveurs, infrastructures cloudSimple, concurrent, compiléMoyenne
PHP1995 (Rasmus Lerdorf)Sites web (WordPress)Hébergement facile, très diffuséFaible
Swift2014 (Apple)Applications iPhone et MacModerne, sûrMoyenne
Kotlin2011 (JetBrains)Applications AndroidLangage recommandé par Google pour AndroidMoyenne
SQLAnnées 1970 (IBM)Interroger les bases de donnéesStandard universel des bases relationnellesFaible
R1993Statistiques, rechercheRiche en méthodes statistiquesMoyenne

Pour l’histoire des premiers langages (Fortran 1957, COBOL 1959, BASIC 1964), voir l'histoire de l’informatique.

Quel langage apprendre en premier ?

Le meilleur choix dépend de l’objectif :

  • Découvrir la programmation : Scratch (blocs visuels, pour les enfants et les débutants), puis Python, enseigné au lycée en France.
  • Créer des sites web : HTML et CSS pour la structure et l’apparence, puis JavaScript.
  • Analyser des données, travailler dans l’IA : Python et SQL.
  • Développer des applications mobiles : Swift (iOS) ou Kotlin (Android).
  • Comprendre le fonctionnement de la machine : C.

Programmer à l’ère de l’IA

Les assistants de code fondés sur les grands modèles de langage génèrent et complètent du code dans la plupart des langages. Ils accélèrent l’écriture mais produisent aussi des erreurs et des failles de sécurité : savoir lire, tester et comprendre le code reste indispensable pour les utiliser correctement.

Questions fréquentes

HTML est-il un langage de programmation ?

Non : HTML est un langage de balisage qui décrit la structure d’une page (titres, paragraphes, liens). Il ne contient ni conditions ni boucles. CSS décrit l’apparence. JavaScript est le langage de programmation du Web.

Quel est le langage de programmation le plus utilisé ?

Selon les classements (enquêtes de développeurs, indices de popularité), JavaScript et Python se disputent la première place depuis plusieurs années, suivis de Java, C#, C++ et TypeScript. SQL est presque universellement utilisé en complément.

Combien de temps faut-il pour apprendre à programmer ?

Les bases d’un langage comme Python s’acquièrent en quelques semaines de pratique régulière. Devenir développeur autonome demande en général plusieurs mois à quelques années, selon la formation et le projet.

Quelle différence entre langage et framework ?

Le langage est la grammaire ; le framework est un ensemble d’outils et de conventions écrits dans ce langage pour un type d’application (React pour JavaScript, Django pour Python, Spring pour Java).

À lire aussi

Compétences informatiques : toutes les fiches