Qu'est-ce qu'un langage d'assemblage
Les langages d'assemblage sont des langages de bas niveau qui sont spécifiques à une architecture d'ordinateur particulière. En comparaison, de nombreux langages de programmation de haut niveau peuvent être utilisés sur plusieurs architectures, mais nécessitent une interprétation ou une compilation avant d'atteindre le processeur.
DÉFAILLANCE Langue de l'assemblage
Les langages d'assemblage ont été largement remplacés par des langages de programmation de haut niveau. Les ingénieurs logiciels préfèrent écrire une seule application qui fonctionne sur tous les PC - qu'ils aient des processeurs Intel ou AMD - en utilisant des langages de haut niveau. Par comparaison, ils seraient tenus d'écrire des applications distinctes pour chaque type d'architecture informatique à l'aide de langages d'assemblage. Ces applications deviendraient extrêmement difficiles à maintenir car chaque mise à jour entraînerait la mise à jour de plusieurs applications différentes.
Les instructions les plus élémentaires exécutées par un ordinateur sont des codes binaires, composés de uns et de zéros, car ceux-ci sont directement traduisibles aux états de marche et d'arrêt pour l'électricité passant par un processeur. Bien sûr, il n'est pas pratique pour les ingénieurs logiciels - ou n'importe quel être humain - de traduire les informations en uns et en zéros, donc les langages d'assemblage ont été développés pour simplifier le processus. Ces langages d'assemblage impliquaient encore beaucoup de travail de traduction de code dans différentes architectures, donc des langages de programmation de niveau supérieur sont venus après eux.
Cela dit, les langages d'assemblage sont encore courants sur certains marchés qui exigent une vitesse et des performances élevées. Les simulateurs de vol peuvent utiliser des architectures hautement spécialisées où les langages de niveau supérieur ne fonctionnent pas, ce qui signifie que les langages d'assemblage peuvent être une nécessité. Les opérations de trading à haute fréquence peuvent également utiliser des langages d'assemblage car elles peuvent exécuter des analyses et des transactions beaucoup plus rapidement que les langages de haut niveau, ce qui peut entraîner de meilleures recettes de trading et une meilleure rentabilité par rapport à la concurrence.
Exemple de langues d'assemblage
Les langages d'assemblage envoient des instructions au processeur, à la mémoire et aux autres composants de l'ordinateur. Ces directions sont des versions légèrement plus abstraites du code binaire, qui se composent uniquement de uns et de zéros. Par exemple, le code 10110000 01100001 indique à un processeur de déplacer une valeur de 8 bits vers un registre. En utilisant le format hexadécimal, ces instructions peuvent être raccourcies en B0 61. Les langages d'assemblage rendent cela encore plus compréhensible en introduisant des opérateurs, comme MOV AL, 61h, où MOV est l'abréviation de "move".
Les langages de programmation de niveau supérieur gèrent souvent ces tâches automatiquement et permettent aux ingénieurs logiciels de se concentrer sur des tâches de niveau beaucoup plus élevé, telles que l'attribution de variables et l'exécution d'opérations sur ces dernières. Par exemple, un ingénieur logiciel peut définir une variable en JavaScript en utilisant let myVariable = 123 et cette variable se verra automatiquement attribuer une place en mémoire en fonction de la taille de l'entier 123 et d'autres facteurs. L'ingénieur logiciel n'a pas à se soucier de la gestion de la mémoire et peut plutôt se concentrer sur ce que fait la variable.
