Les différences entre les langages de programmation haut et bas
Les langages de programmation
Un langage de programmation est un langage avec lequel les humains peuvent enseigner des ordinateurs. Un programme est une liste d'instructions préparées pour être livrées à un ordinateur et exécutées. Essentiellement, les instructions stockent, déplacent et modifient des valeurs dans la mémoire de l'ordinateur. Ces valeurs peuvent être interprétées par plusieurs périphériques, tels que des moniteurs, des haut-parleurs, des claviers, des tablettes tactiles ou des souris, qui permettent de communiquer avec l'utilisateur.
Le code machine
Un langage de bas niveau est un langage proche des bases du matériel informatique. Le langage de niveau le plus bas est le code machine, que le matériel comprend directement et ne nécessite aucune interprétation ni traduction. Le code machine est entièrement composé de chaînes de nombres binaires: les fameux zéros et les uns. Bien qu'il puisse faire tout ce que n'importe quelle autre langue peut réaliser (en fait, le reste des langues doit être traduit en code machine par l'interprète), il n'est pas conçu pour répondre aux besoins du programmeur et nécessite une connaissance approfondie du processeur et les dispositifs de l'ordinateur, outre qu'il est presque impossible pour un humain de le lire.
Le langage d'assemblage
Le langage de programmation "de niveau supérieur" suivant est le langage assembleur, qui est un code machine dont les codes d'instructions ont été remplacés par des commandes plus intuitives. Par exemple, la commande pour placer la valeur 97 dans un registre de mémoire s'appelle AL (dans le code machine, il s'agirait de "10110000 01100001"), et en langage assembleur, de "MOV AL, 97", qui est toujours une commande cryptique mais est beaucoup plus facile à lire. Bien qu'il soit toujours peu efficace de l'écrire et demande au programmeur de traiter directement avec le matériel informatique, il s'agit d'un langage de niveau supérieur au code machine car il est plus abstrait, c'est-à-dire qu'il est plus proche du programmeur.
Langues de haut niveau
Les programmeurs modernes écrivent rarement en langage assembleur. Au lieu de cela, ils utilisent l'un des nombreux langages de haut niveau tels que C, Java ou Python, dont les programmes appelés compilateurs ou interprètes peuvent être convertis en code machine. Ces langages évitent au programmeur de s’impliquer dans le monde physique du matériel et de l’entraîner en abstraction logique: au lieu de déplacer les valeurs hexadécimales par les registres de mémoire, le programmeur utilise des variables dont le contenu peut être modifié, avec des boucles ils peuvent être répétés jusqu'à ce qu'une condition soit remplie, avec des instructions logiques telles que IF, AND, THEN, OR et ELSE, entre autres outils. Ces langages sont conçus pour le programmeur, en prenant en compte les moyens permettant d’obtenir le maximum de puissance avec le moins de difficultés.
Des comparaisons
Les langues de haut niveau ne reçoivent pas ce nom car elles sont "meilleures" que les langues de bas niveau. Parfois, la capacité de communiquer directement avec le processeur de l'ordinateur en langage assembleur ou même en code machine peut résoudre les problèmes que des couches d'abstraction d'un langage de haut niveau peuvent rendre difficile. Un langage de très haut niveau ne peut traiter qu'avec un système d'exploitation spécifique, tel que Microsoft Visual Basic, ou avec un programme particulier, tel que les "macros" d'un traitement de texte. Ces programmes sont très utiles pour quiconque veut manipuler Windows ou Word sans avoir à savoir comment cela fonctionne, mais un tel langage ne serait pas utile pour quelqu'un qui essaye d'écrire son propre programme et qui a besoin d'un langage de niveau inférieur. Par conséquent, un programmeur choisit une langue en fonction du travail à effectuer.