À retenir
- Remplace le binaire par des codes mémorisables (mnémoniques).
- Dépend directement de l'architecture du processeur (non portable).
- Offre un contrôle total sur le matériel et la mémoire.
Un langage de deuxième génération (souvent appelé Assembleur) est une manière de programmer qui remplace les suites complexes de 0 et de 1 du langage machine par des abréviations de mots compréhensibles par l'humain. C'est comme si, au lieu de donner des coordonnées GPS chiffrées à un robot, on lui disait simplement AVANCE ou STOP.
Étymologie
L'expression provient de la classification historique des langages de programmation : la première génération (1GL) était le code machine binaire, et la deuxième (2GL) a apporté la lisibilité textuelle. Le terme Assembleur vient du programme chargé de traduire ces codes en langage machine.
Exemples d'usage
- Assembleur x86 : Utilisé pour programmer au plus près des processeurs de nos ordinateurs personnels.
- Assembleur ARM : Très courant pour optimiser les performances des processeurs de smartphones ou de tablettes.
Cas d'usage
On utilise ces langages dans des contextes où la performance et le contrôle du matériel sont critiques : création de pilotes de périphériques (drivers), développement de systèmes d'exploitation, programmation de microcontrôleurs (objets connectés) ou pour la cybersécurité (analyse de virus).
Bonnes pratiques
Comme chaque instruction est très basique, il est indispensable de commenter massivement son code pour expliquer la logique globale, car une simple addition peut prendre plusieurs lignes. Il est aussi recommandé de ne l'utiliser que pour des portions de code nécessitant une optimisation extrême.
Synonymes
Antonymes
Conseil
Si vous débutez, ne commencez pas par apprendre ce langage pour créer des logiciels. Étudiez-le plutôt pour comprendre comment fonctionne réellement un ordinateur sous le capot ; c'est un excellent exercice intellectuel pour saisir la gestion de la mémoire.
Questions fréquentes
Le langage de deuxième génération est-il encore utilisé ?
Oui, notamment dans l'informatique embarquée et pour optimiser des fonctions très précises où la rapidité est vitale.
Est-ce difficile à apprendre ?
C'est plus complexe que les langages modernes car il faut comprendre comment le processeur fonctionne à l'intérieur (registres, mémoire vive).