has abstract
| - Un langage de programmation de bas niveau ne fournit que peu d'abstraction par rapport au jeu d'instructions du processeur de la machine. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte des caractéristiques particulières (registres, etc) de l'ordinateur censé exécuter le programme. Le langage machine et le langage d'assemblage sont les archétypes de langages de bas niveau, puisqu'ils permettent de manipuler explicitement des registres, des adresses mémoires, des instructions machines. Hors ces cas extrêmes, la distinction entre bas niveau et haut niveau n'est pas binaire. Les discussions pour savoir si des langages comme C et C++, qui ont à la fois des aspects de bas niveau (possibilités d'accès à la mémoire en utilisant des adresses explicites, "bitfields" dans les structures) et de haut niveau, méritent ou pas le nom de langage de haut ou bas niveau ont toujours cours. 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é. (fr)
|