Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07043.jsonl.gz/252

Lexique
Langage_machine
Le langage machine est le seul que peut traiter nativement un ordinateur.
Chaque famille de microprocesseur possède sa propre architecture, et par conséquent son propre langage machine (par exemple le X86m ou X64) incompatible avec les autres, même si de fortes similitudes existent parfois.
Concrètement, il s'agit d'une suite de bits encodés en langage binaire, soit uniquement des zéros et des uns que l'on nomme instructions.
Bien sûr, ce type de langage n'est pas compréhensible par un humain, ou tout du moins pas directement...
C'est là qu'intervient le compilateur, chargé de traduire un langage de programmation "humain" relativement abordable (Basic, Java, C++, etc.) en langage machine composé d'arides 0 et 1 qui seront ensuite traité par le microprocesseur.
Il existe toutefois un langage intermédiaire, proche du langage binaire des ordinateurs, l'assembleur que certains confondent parfois avec le langage machine.
Ce type de langage, dit de bas niveau à cause de sa proximité avec la machine, est très complexe à maîtriser et de moins en moins usité. En revanche, il permet à un programmeur expérimenté de tirer le maximum de l'architecture d'un processeur.
Toutefois, les progrès réalisés par les compilateurs relativisent l'intérêt de l'assembleur en dehors de situations particulières, comme les systèmes embarqués critiques, ou les calculateurs massivement parallèles. Dans ces exemples, la précision extrême des instructions écrites "à la main", en assembleur, permet parfois à cette forme de programmation "à l'ancienne" de faire la différence.
1801, le métier à tisser Jacquard fonctionne avec du papier perforé : l'ancêtre du langage machine ? (Crédit David Monniaux)