5 réponses
langage machine : 01010110101101 (pratique a programmer)
lanage evolue : for(i=1 to 100) do()....
on peut resume grosierement en disant que moins il faut ecrire pour faire une action, plus le lanage est evolue.
lanage evolue : for(i=1 to 100) do()....
on peut resume grosierement en disant que moins il faut ecrire pour faire une action, plus le lanage est evolue.
je croit que tout simplement le language machine c du binaire ( des 0 et des 1) et que les language evolue sont les language de programmation lisible pour nous et qui sont ensuite interprete puis transforme en binaire pour etre executer par la becane.
bon je ne sais pas vraiment mais je pense que d'abord les langages evolues sont moins difficiles a programmer que les langages machines. ensuite chaque langage dispose d'un compilateur qui traduit un programme ecrit dans un langage evolue en un programme du langage machine.
je ne sais pas si ceci est correcte ou pas.
moumi
je ne sais pas si ceci est correcte ou pas.
moumi
C'est seulement un problème d'abstraction.
En montant dans les niveaux:
- Le microprocesseur lui-même.
- Langage machine: des zéros et des uns... (dépendant du processeur)
- Langage assembleur: instructions élémentaires, mais dépendant du processeur (exemple: assembleur Intel 80x86, assembleur Motorola 68000)
- Langages manipulant directement la mémoire (ces langages accèdent directement à la mémoire et manipulent des pointeurs). Exemple: le C
- Langages manipulant des références (on accède plus directement à la mémoire, mais on manipule des références d'objets). Exemple: C++
etc.
Quand on compile, on descend dans les couches (c'est à dire qu'on monte dans la liste ci-dessus).
Typiquement, un programme en C++ sera traduit en C, qui sera traduit en assembleur, qui sera assemblé en langage machine.
(pour simplifier).
Le choix de votre langage va déterminer de quelle couche vous partez.
Il y a une hiérarchie un peu à part: les langages à machine virtuelle comme Java, .Net (C#) ou Python.
Là, c'est carrément un microprocesseur fictif (avec son langage machine) qui est simulé par un programme.
On retrouve les même couches, mais la base est un microprocesseur virtuel.
En montant dans les niveaux:
- Le microprocesseur lui-même.
- Langage machine: des zéros et des uns... (dépendant du processeur)
- Langage assembleur: instructions élémentaires, mais dépendant du processeur (exemple: assembleur Intel 80x86, assembleur Motorola 68000)
- Langages manipulant directement la mémoire (ces langages accèdent directement à la mémoire et manipulent des pointeurs). Exemple: le C
- Langages manipulant des références (on accède plus directement à la mémoire, mais on manipule des références d'objets). Exemple: C++
etc.
Quand on compile, on descend dans les couches (c'est à dire qu'on monte dans la liste ci-dessus).
Typiquement, un programme en C++ sera traduit en C, qui sera traduit en assembleur, qui sera assemblé en langage machine.
(pour simplifier).
Le choix de votre langage va déterminer de quelle couche vous partez.
Il y a une hiérarchie un peu à part: les langages à machine virtuelle comme Java, .Net (C#) ou Python.
Là, c'est carrément un microprocesseur fictif (avec son langage machine) qui est simulé par un programme.
On retrouve les même couches, mais la base est un microprocesseur virtuel.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question