17 avril 2021 16:56

Langue d’assemblage

Qu’est-ce qu’un langage d’assemblage?

Un langage d’assemblage est un type de langage de programmation de bas niveau destiné à communiquer directement avec le matériel d’un ordinateur. Contrairement au langage machine, qui se compose de caractères binaires et hexadécimaux, les langages d’assemblage sont conçus pour être lisibles par les humains.

Les langages de programmation de bas niveau tels que le langage assembleur sont un pont nécessaire entre le matériel sous-jacent d’un ordinateur et les langages de programmation de niveau supérieur, tels que Python ou JavaScript, dans lesquels les logiciels modernes sont écrits.

Points clés à retenir

  • Un langage d’assemblage est un type de langage de programmation qui traduit des langages de haut niveau en langage machine.
  • Il s’agit d’un pont nécessaire entre les programmes logiciels et leurs plates-formes matérielles sous-jacentes.
  • Aujourd’hui, les langages d’assemblage sont rarement écrits directement, bien qu’ils soient encore utilisés dans certaines applications de niche, par exemple lorsque les exigences de performances sont particulièrement élevées.

Fonctionnement des langages d’assemblage

Fondamentalement, les instructions les plus élémentaires exécutées par un ordinateur sont des codes binaires, composés de uns et de zéros. Ces codes sont directement traduits en états «marche» et «arrêt» de l’électricité circulant dans les circuits physiques de l’ordinateur. Essentiellement, ces codes simples forment la base du «langage machine», la variété la plus fondamentale du langage de programmation.

Bien sûr, aucun humain ne serait capable de construire des logiciels modernes en programmant explicitement des uns et des zéros. Au lieu de cela, les programmeurs humains doivent s’appuyer sur diverses couches d’abstraction qui peuvent se permettre d’articuler leurs commandes dans un format plus intuitif pour les humains. Plus précisément, les programmeurs modernes émettent des commandes dans des «langages de haut niveau», qui utilisent une syntaxe intuitive telle que des mots et des phrases anglais entiers, ainsi que des opérateurs logiques tels que «Et», «Ou» et «Sinon» familier à l’usage quotidien.

En fin de compte, cependant, ces commandes de haut niveau doivent être traduites en langage machine. Plutôt que de le faire manuellement, les programmeurs s’appuient sur des langages d’assemblage dont le but est de traduire automatiquement entre ces langages de haut niveau et de bas niveau. Les premiers langages d’assemblage ont été développés dans les années 1940, et bien que les programmeurs modernes passent très peu de temps à traiter les langages d’assemblage, ils restent néanmoins essentiels au fonctionnement global d’un ordinateur.

Exemple du monde réel d’un langage d’assemblage

Aujourd’hui, les langages d’assemblage restent le sujet d’étude des étudiants en informatique, afin de les aider à comprendre comment le logiciel moderne se rapporte à ses plates-formes matérielles sous-jacentes. Dans certains cas, les programmeurs doivent continuer à écrire dans des langages d’assemblage, par exemple lorsque les exigences sont particulièrement élevées, ou lorsque le matériel en question est incompatible avec les langages de haut niveau actuels.

Les plates-formes de négociation à haute fréquence (HFT) utilisées par certaines sociétés financières sont un exemple pertinent pour la finance. Sur ce marché, la rapidité et la précision des transactions sont d’une importance primordiale pour que les stratégies de trading HFT se révèlent rentables. Par conséquent, afin de gagner un avantage par rapport à leurs concurrents, certaines entreprises HFT ont écrit leur logiciel de trading directement dans des langages d’assemblage, évitant ainsi d’attendre que les commandes d’un langage de niveau supérieur soient traduites en langage machine.