Contenu
Le but de tout langage de programmation est de transformer un ordinateur presse-papiers coûteux en un dispositif utile de traitement et de stockage de données. La langue choisie pour effectuer cette tâche doit être équilibrée entre efficacité et facilité d'utilisation. Le langage machine représente les extrémités du spectre pour les deux facteurs.
Language de machine
Le langage machine produit le seul ensemble d'instructions qu'un ordinateur comprend sans traducteur. Les ordinateurs sont capables de lire de l'audio et de la vidéo, de traiter et de stocker des données, de communiquer avec Internet et d'effectuer d'autres tâches spécialisées, en répondant à un ensemble d'instructions qui ne reconnaît que les uns et les zéros. Ecrire des centaines de lignes de code avec seulement des uns et des zéros est une tâche fastidieuse qui contribue à la popularité des langages de haut niveau, tels que C et Java.
Avantages initiaux
Le premier ordinateur personnel d'IBM était équipé de 512 Ko de mémoire vive et d'un lecteur de disquettes de 360 Ko. Une fois le système d'exploitation chargé en mémoire à partir de la disquette, les programmes ont été chargés dans l'espace mémoire restant, laissant une petite zone de RAM, généralement inférieure à 100 Ko, pour que le programme actif traite les données. Pendant ce temps, la principale préoccupation d'un programmeur était de créer un code concis et efficace. L'outil de programmation le plus utilisé sur ces ordinateurs était 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.
Dépendance de la plateforme
Le langage machine pointe directement vers le matériel de l'ordinateur, donnant au programmeur un contrôle complet de 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 ensemble de circuits intégrés (chipsets) pour écrire du code efficace. Lorsqu'un composant tel qu'une carte vidéo ou un contrôleur de disque est modifié, le code doit être mis à jour pour reconnaître et utiliser le nouveau périphérique.
Langues de haut niveau
Les avantages de la vitesse et de la faible utilisation de la mémoire du langage machine sont compensés par la difficulté d'écrire des instructions au niveau de la puce en code binaire. La disponibilité de gigaoctets de RAM et de téraoctets de stockage a éliminé le besoin de code concis et efficace sur les ordinateurs personnels modernes. Les demandes de mémoire et de stockage supplémentaires des programmes écrits dans des langages de haut niveau, 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 la maintenance sont des facteurs privilégiés de rapidité et d'efficacité dans la plupart des projets logiciels modernes.