Articles

7.6. Langages de programmation de haut niveau¶

Il est rare que les programmeurs écrivent des programmes directement en langage machine ou en assembleur. Les fichiers exécutables de la plupart des applications contiennent des centaines de milliers, voire des millions d’instructions en langage machine. Il serait très difficile de créer quelque chose comme cela à partir de zéro.

Les langages de programmation de haut niveau ont été inventés pour faire abstraction des détails du code machine et aider les programmeurs à se concentrer sur la résolution de problèmes. Alors qu’il faut parfois 3 ou 4 lignes de code pour additionner deux nombres en utilisant le langage d’assemblage, cette tâche pourrait être accomplie avec une seule instruction dans un langage de programmation de haut niveau comme C++, Java ou Python. Avec un langage de haut niveau, un programmeur crée un programme en utilisant de puissantes « grosses » opérations qui seront ensuite converties en de nombreuses petites opérations machine.

Les programmes écrits dans un langage de haut niveau doivent être convertis en code machine pour être exécutés. Cela se fait soit à l’avance en convertissant un programme entier en code machine avec un programme compilateur (compilation du code), soit ligne par ligne au fur et à mesure de l’exécution du programme par un interprète. Une ligne dans un langage de programmation de haut niveau peut se transformer en une à plusieurs dizaines d’instructions machine. Cela signifie non seulement qu’il y a moins de code à taper, mais aussi qu’il y a moins de code à déboguer – lorsque quelque chose ne va pas, il est souvent plus facile de le retrouver.

../_images/compiling.png

Les onglets ci-dessous montrent à quoi pourrait ressembler le code dans différents niveaux de langage. Imaginons que nous concevions un logiciel pour le terminal de vente d’un restaurant ; nous allons examiner la partie du code qui pourrait calculer le pourboire de 15 % qui est automatiquement ajouté aux grands groupes. (Remarque : toutes les langues sont constituées de représentants d’un niveau particulier – ne vous inquiétez pas des détails de chacune.)

Pour calculer le montant total dû, multipliez d’abord le prix total du repas par 0,15. Cela vous donne le pourboire du repas. Ensuite, ajoutez-le au prix du repas pour trouver l’addition totale.

tip = mealCost * 0.15bill = mealCost + tip
LOAD MealCostMULT TIPRATESTORE TipLOAD MealCostADD TipSTORE Bill
.

010101011110010111110110101011101101101010010101010111011000111100010101011111001101101010111111

Notez que le langage de haut niveau est beaucoup plus compact que le code assembleur ou machine et, encore plus important, il nous permet d’exprimer un algorithme à un niveau beaucoup plus proche du domaine réel du problème. Au lieu de s’inquiéter du chargement et du stockage de valeurs dans des registres, nous pouvons exprimer des commandes qui ressemblent davantage à des calculs normaux : tip = mealCost * 0.15.

Matériel de cette page adapté de :
Modules interactifs en ligne pour l’enseignement de l’informatique par Osman Balci et al.
Introduction à l’informatique en utilisant Java par Bradley Kjell (CC BY-NC 3.0)

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *