2–3 minutes

Dans le monde de la programmation et du scripting, ont entends souvent parler de bas-niveau et de haut-niveau.
Mais à quoi cela peut il bien faire référence ?

Le niveau ne fait pas référence à la difficulté ni aux compétences qu’il faut pour le maîtriser, il fait référence à la proximité qu’il a avec le hardware, ou plus simplement, s’il se rapproche du langage de la machine.

Il faut le comprendre à l’inverse :
Un langage de bas-niveau sera très proche du langage de la machine (des composants électroniques).
Un langage de haut niveau s’en éloignera pour se rapprocher de celui des humains, il devra donc être décodé/traduit pour être compris par la machine.

Comme pour un oignon, plus nous sommes dans un haut-niveau, plus il faudra traverser des couches pour se rapprocher du centre.

Exemple 2 : le PHP est un langage de haut-niveau, puisse que se rapprochant du langage humain, il devra être traduit à plusieurs niveaux avant d’être affiché, de plus, ce langage n’interagit pas au final avec le bios ni le noyaux du système.
Code PHP -> Moteur PHP -> Bytecode -> Appels système (côté serveur) -> Navigateur (côté client)

Tout dépendra de l’utilité finale de votre code.
A quoi va t’il servir ?
Sur quel environnement doit t’il s’exécuter ?

L’une des réponse tiens à cette explication :

-> Un langage de bas-niveau, bien que plus performant car moins de couches logicielles, sera dépendant de du système d’exploitation, des pilotes, etc…
Il ne sera pas multiplateforme comme par exemple le Batch qui ne pourra pas s’exécuter sur Linux.
Contexte : Script système, systèmes embarqués, paramétrage d’OS, jeux vidéo, applications performantes
Exemples : Batch, Assembleur, PowerShell, C, C++, Rust, VBScript

-> Un langage de haut-niveau, bien que plus lent que le bas niveau, n’est pas dépendant directement du système d’exploitation.
Il sera multiplateforme comme par exemple un site web qui peut s’ouvrir sur Windows comme sur Linux et via différents navigateurs.
Contexte : Site Web, Application Web, Application Cross-Platform
Exemples :PHP, Python, JavaScript, C#

Tags:

Comments are closed