Langage de bas niveau

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un langage de programmation est dit de bas niveau lorsque le codage de celui-ci se rapproche du langage machine (dit « binaire »), et donc permet de programmer à un degré très avancé. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte de la façon dont fonctionne le matériel de l'ordinateur censé exécuter le programme.

La définition reste malgré tout assez floue, et il n'existe pas de méthode particulière qui permettrait de déterminer objectivement si un langage peut être considéré de bas niveau.

On peut considérer qu'un langage de bas niveau permet de manipuler explicitement des registres, des adresses mémoires, voire des instructions machines.

Les langages machines et assembleurs sont la plupart du temps considérés comme des langages de bas niveau. D'autres langages, comme le C voire le C++, sont considérés par certains comme étant des langages de bas niveau. D'autres pensent au contraire que le C et le C++ sont des langages de haut niveau car ils ne permettent pas de gérer suffisamment finement le matériel dans certaines situations. Par opposition, le PHP est un langage de haut niveau qui se trouve être assez éloigné du langage machine.

Une citation attribuée à Alan Perlis dit : « A programming language is low level when its programs require attention to the irrelevant. » ; ce qui pourrait-être traduit par : « Un langage de programmation est bas niveau lorsqu'il nécessite de faire attention aux choses qui ne sont pas pertinentes ». Néanmoins, cette citation doit être nuancée : dans cette citation, ce qui est considéré non-pertinent est la gestion du matériel et ses contraintes. Dans certains cas, la gestion du matériel est un impératif, et est loin d'être non pertinente. Il est donc souvent nécessaire d'utiliser un langage de bas niveau, un langage de haut niveau ne pouvant permettre de coder le programme désiré.

Utilisation[modifier | modifier le code]

Les langages de bas-niveau sont utilisés dans : l'informatique embarquée, industrielle, la création de pilotes, de systèmes d'exploitation, voire le développement de jeux vidéo. Dans tous les autres domaines, les langages de bas niveau sont inutilisés et sont inutiles et contre-productifs (exception faite du langage C, pour ceux qui le considèrent comme un langage de bas niveau).

Les langages de bas niveau sont aujourd'hui assez peu utilisés. Il est en effet très difficile et très long de développer un programme informatique entièrement dans un langage de bas niveau comme l'assembleur. Les programmeurs préfèrent donc utiliser des langages de haut niveau, plus simples à utiliser.

Dans certains domaines, comme l'informatique embarquée ou en informatique industrielle, les langages de bas niveau sont majoritairement utilisés (typiquement le C ou plus rarement le C++), en complément d'un langage de « haut niveau », et certaines portions assez limitées sont programmées en assembleur.

Performances[modifier | modifier le code]

Contrairement aux idées reçues, programmer une application dans un langage de bas niveau comme l'assembleur ne permet pas forcément d'obtenir une application plus rapide. En effet, certains compilateurs utilisés pour les langages de haut niveau permettent d'optimiser le programme compilé de manière bien plus efficace qu'un programmeur ne pourrait le faire[1].

Notes et références[modifier | modifier le code]

  1. Renaud Marlet, Ingénierie de la spécialisation de programmes, Lavoisier,‎ 22 septembre 2011 (lire en ligne).

Voir aussi[modifier | modifier le code]