Avantages et inconvénients du langage de niveau machine

La programmation

L'écriture de code au niveau machine est un processus difficile.

Crédit d'image : Jupiterimages/Photos.com/Getty Images

Le but de tout langage de programmation est de transformer un ordinateur d'un presse-papier électronique coûteux en un dispositif de traitement et de stockage de données utile. Le choix d'une langue pour accomplir cette tâche est un compromis entre efficacité et facilité d'utilisation. Le langage machine représente les extrémités du spectre pour ces deux facteurs.

Language de machine

Le langage machine produit le seul ensemble d'instructions qu'un ordinateur comprend sans traducteur. Les ordinateurs parviennent à accomplir la reproduction audio et vidéo, le traitement et le stockage des données, Internet communication et toutes les autres tâches spécialisées en répondant à un jeu d'instructions qui n'en reconnaît qu'une et des zéros. L'écriture de centaines de lignes de code composées de uns et de zéros est un processus exigeant et fastidieux qui explique la popularité des langages de niveau supérieur tels que C et Java.

Vidéo du jour

Premiers avantages

Le premier ordinateur personnel IBM était équipé de 512 kilo-octets de mémoire vive et d'un lecteur de disquette de 360 ​​kilo-octets. Une fois le système d'exploitation chargé en mémoire à partir du lecteur de disquette, les programmes ont été chargés dans le espace mémoire laissant une très petite zone de RAM, souvent moins de 100 kilo-octets, pour le programme actif à traiter Les données. Au cours de cette période, la principale préoccupation d'un programmeur était un code léger et efficace. Les outils de programmation de choix sur ces premiers ordinateurs étaient généralement le langage machine, qui peut être considérablement plus petit qu'une version écrite en BASIC ou C. Il était également un peu plus facile d'utiliser un langage d'assemblage descendant.

Dépendance de la plate-forme

Le langage machine s'adresse directement au matériel de l'ordinateur, donnant au programmeur un contrôle complet sur tous les aspects de l'exécution d'un programme. L'inconvénient de cette approche est que le programmeur doit connaître l'architecture de chaque chipset avant de pouvoir écrire du code efficace. Lorsqu'un composant tel qu'une carte vidéo ou un contrôleur de lecteur est modifié, par exemple, le code de langage machine doit être mis à jour pour reconnaître et adresser le nouveau périphérique.

Langues de haut niveau

La vitesse et la faible empreinte mémoire du langage machine sont de plus en plus contrebalancées par la difficulté d'écrire des instructions au niveau de la puce en code binaire. Des gigaoctets de RAM et des téraoctets de stockage disponible ont éliminé le besoin d'un code léger et efficace dans les ordinateurs personnels modernes. Les demandes de mémoire et de stockage supplémentaires imposées par les programmes écrits dans des langages de niveau supérieur tels que C et Java ne sont plus un facteur lors du choix d'une plate-forme de développement. La facilité d'utilisation et les problèmes de maintenance future du programme remplacent la vitesse et l'efficacité dans la plupart des projets logiciels modernes.