>> Électroniques Technologie >  >> Maison intelligente >> Vie intelligente

Avantages et inconvénients du langage au niveau machine

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

Langage 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, la communication Internet et toutes les autres tâches spécialisées en répondant à un jeu d'instructions qui ne reconnaît que les uns et les 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.

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 l'espace mémoire restant, laissant une très petite zone de RAM, souvent inférieure à 100 kilo-octets, pour que le programme actif traite les données. Au cours de cette période, la principale préoccupation d'un programmeur était un code simple 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 le langage d'assemblage descendant.

Dépendance à la plate-forme

Le langage machine s'adresse directement au matériel de l'ordinateur, donnant au programmeur un contrôle complet sur chaque aspect 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 un 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.

Langages de haut niveau

Les avantages de la vitesse et de la faible empreinte mémoire du langage machine sont de plus en plus compensés par la difficulté d'écrire des instructions au niveau de la puce en code binaire. Les gigaoctets de RAM et les téraoctets de stockage disponible ont éliminé l'exigence d'un code allégé 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 rapidité et l'efficacité dans la plupart des projets logiciels modernes.


Vie intelligente