#3 Programmation pour tous : Les langages

Le microprocesseur attend les instructions en binaire comme évoqué dans l’épisode précédente comme :

10101110 10101110 0010100

Pour une machine, cette instruction est normale. Dans la réalité de programmeurs de cette génération, la programmation ne se fait pas en binaire. On donne les instructions à des machines en utilisant un langage de programmation comme par exemple (C++):

Avec cette instruction, l’ordinateur comprendra qu’il doit faire à ce qu’une fenêtre puisse s’afficher contenant le message « hello world ».

hello-world

Ne me demande pas où coller ce code pour pouvoir afficher aussi cette fenêtre car il y a encore des choses qu’il faut comprendre avant de voir le résultat dans ta machine.

Comment c’est possible alors que tu as écrit du texte que l’ordinateur ne peut pas comprendre ? tu avais dit qu’il comprend que le binaire

La réponse est très simple, l’ordinateur traduit les textes que j’ai écrit en binaire avant qu’il puisse l’envoyer au microprocesseur pour exécuter.

Comment le traduit-il alors qu’il ne le connait déjà pas d’office ? c’est comme essayer soit même de traduire le chinois en français pour le comprendre alors qu’on comprend déjà pas du chinois

Je répond à cette question en te narrant un peu rapidement l’histoire du début de la programmation jusqu’à la où on est maintenant car c’est très important que tu le saches.

Le premier programme Informatique

Une britannique du nom de Lady ADA LOVELACE, est considérée d’après l’histoire comme étant la première programmeuse, c’est-à-dire, la première à pouvoir donner les instructions à une machine pour que le traitement se fasse de manière automatique. c’était au 18ème siècle[plus d’infos].

Au départ, en programmation, tout était du binaire. c’est juste en 1954 qu’il y a eu une petite simplification ou changement. La société IBM a mis au point un programme écrit en binaire qui permettait de traduire une instruction texte (chaîne de caractère) en binaire.

Par exemple au lieu de donner les instructions en binaire comme

10110000 11001000

Tu peux écrire

movb $0x61, %al

Et le programme prend bien soin de le traduire en binaire avant que la machine l’exécute. c’est la naissance de l’assembleur.

L’écriture (movb $0x61, %al) qui doit être traduit est ce qu’on appele « le langage d’assemblage » ou « le langage assembleur » et le programme qui traduit cette écriture (le langage d’assembleur) est ce qu’on appelle « Assembleur » ou « programme d’assembleur« .

Vu que c’est difficile de programmer en binaire, les concepteurs de microprocesseur ont mis pour chaque modèle de leurs microprocesseur langage assembleur correspondant, c’est-à-dire, hormis le binaire, le microprocesseur comprend aussi le langage assembleur.

En réalité, le microprocesseur ne peut comprendre que du binaire, l’assembleur est juste une abstraction entre le langage assembleur et le binaire. Chaque modèle de processeur aussi a son propre langage assembleur.

Bon, la compréhension c’est vrai qu’elle pourrait s’envoler mais je m’en voudrais si je ne vous parlais pas de ça. C’est tellement vaste le concept que j’ai évité même d’entrer en profondeur pour que tout reste simple comme au début. Mais si tu veux bien en savoir plus sur le concept, des liens sont justes  On se retrouve dans la deuxième partie (2)…

Ajouter un commentaire

3 Commentaires

  1. Atcha 1 mai 2017
  2. Depezo 27 avril 2017