Médaille
N°1 pour apprendre & réviser du collège au lycée.
Langages de programmation

Déjà plus de

1 million

d'inscrits !

0/2
0 / 10
Challenge tes acquis !
Remporte un max d’étoiles
et de school coins !
`

Panorama des langages de programmation

  • Voici, au travers d’un même programme rédigé, plusieurs langages de programmation courants :
  • Avec le langage Python :

print("Bonjour et bienvenue !")

  • Avec le langage JavaScript :

alert("Bonjour et bienvenue !");

  • Avec le langage PHP :

<?php

print("Bonjour et bienvenue !");

?>

  • Cet exemple simple nous permet de remarquer des différences et des ressemblances entre les différents langages de programmation.
  • La connaissance d’un ou plusieurs langages de programmation est une aide précieuse pour l’apprentissage d’un nouveau langage.
  • Il existe des centaines de langages informatiques différents, chacun avec ses propres caractéristiques.
  • En informatique, les langages sont identifiés par des numéros de version et ils évoluent au cours du temps.
  • La plupart du temps, une certaine compatibilité est conservée avec les versions précédentes du langage, afin de pouvoir continuer à utiliser des programmes plus anciens.

Caractéristiques générales des langages de programmation

  • Les langages de programmation respectent les notions suivantes :
  • L’alphabet ;
  • Le vocabulaire ;
  • La syntaxe.
  • Les données peuvent être classées en fonction de leur appartenance à des familles ou ensembles :
  • le typage statique : données affectées à des variables, et certains langages exigent que le type de donnée soit explicitement défini et respecté ;
  • le typage dynamique : déduit, à partir du contenu de la variable, à quelle famille de données elle appartient, et d’autres langages ne requièrent pas ce formalisme et déterminent le type de donnée « à la volée ».
  • Plusieurs styles de paradigmes de programmation existent :
  • programmation imperative : l’ordre d’exécution suit en séquence les instructions fournies. Et la programmation procédurale fait partie de cette famille ;
  • programmation fonctionnelle : enchainement de fonctions recevant des paramètres en entrée et fournissant un résultat en sortie. Elle appartient à la famille de programmation dite déclarative, dans laquelle figure également la programmation logique, implémentée dans des langages tels que Prolog ou Mercury ;
  • programmation orientée objet : s’appuyant sur un modèle où les fonctions et les données sont généralement rassemblées au sein d’une même entité appelée classe, et dont les membres individuels sont des objets pouvant être dotés d’attributs et de méthodes.
  • programmation événementielle : le déroulement du programme est déterminé par un enchainement d’actions liées à des événements déclenchés par l’utilisateur.
  • programmation concurrente : permet l’exécution parallèle et simultanée de différentes tâches.
  • De nombreux langages informatiques sont multi-paradigmes et rendent possible l’emploi de plusieurs styles de programmation au choix du programmeur.
  • On peut distinguer les langages de programmation en fonction de la manière dont ils sont exécutés, le code informatique est soit :
  • compilé ou ;
  • interprété.
  • Niveau d’abstraction du matériel sur lequel ils sont employés les langages de programmation :
  • langage dit de bas niveau, les commandes et fonctions sont en lien direct avec le micro-processeur de la machine et permettent d’optimiser le code spécifiquement pour ce matériel.
  • langage de haut niveau fait abstraction des spécificités du processeur ou du système d’exploitation employé. Les couches d’abstraction peuvent se superposer.

Utilisations des langages de programmation

Sophistication des langages de programmation modernes

  • Le développement des langages assembleurs a été la première étape permettant de rendre le code un peu plus lisible pour les humains, tout en restant très proche de la machine.
  • Des systèmes ont été développés pour gérer les** interactions entre le matériel et ces langages** afin de pouvoir faire, partiellement ou totalement, abstraction des aspects matériels et système.
  • La puissance des ordinateurs modernes permet de conserver de bonnes performances malgré l’empilement de couches d’abstraction (smartphones).

Langages de programmation généralistes et spécialisés

  • Certains langages largement répandus comme C, C++, Java ou Python sont assez polyvalents et permettent des développements logiciels dans des domaines très variés.
  • L’ensemble des bibliothèques et outils rattachés à un langage de programmation constitue son écosystème.
  • D’autres langages ont été conçus en vue de répondre à des besoins spécifiques.

Autres langages informatiques

  • Certains langages informatiques ne proposent pas toutes les caractéristiques requises des langages de programmation et ne peuvent pas être désignés comme tels, mais d’usage très courant :
  • langages de présentation : ne permettent pas d’implémenter un algorithme ;
  • langages de requêtes : présentent davantage de caractéristiques communes avec les véritables langages de programmation.