Accéder au contenu principal

La traduction en langage machine


La traduction en langage machine

Notion de "code source"

Lorsque l'on dispose d'un programme exécutable par un ordinateur, on dispose de la traduction en binaire du programme rédigé en langage de haut niveau.
Le texte du programme en langage de haut niveau est appelé "code source".
Un logiciel "Open Source" est un programme pour lequel on dispose du code source.
Un logiciel "fermé" est un programme qui est la propriété d'une personne ou d'une société qui ne souhaite pas diffuser le code source.
Il est extrêmement difficile de reconstituer le code source à partir du code binaire. Si l'on souhaite pouvoir réaliser des modifications au programme, il est presque indispensable de disposer du code source.
Si l'on dispose du code source d'un programme, il est toujours possible d'étudier son fonctionnement et de le modifier en cas de besoin.

Le compilateur

Le code source d'un programme doit être traduits en langage machine. Ce travail est réalisé par un programme spécialisé appelé compilateur.
Des 0 et des 1Le compilateur examine les instructions écrites par le programmeur et les transforme en langage binaire, compréhensible par le processeur.
Il existe un grand nombre de compilateurs. Chacun est spécialisé dans le traitement de l'un ou l'autre langage évolué.
Un texte écrit dans un langage doit être compilé à l'aide d'un compilateur approprié à ce langage précis.
Un texte écrit en langage C doit être compilé par un compilateur C.

Les interpréteurs

Dans certains langages, le code source n'est pas préalablement traduit en langage machine par un compilateur.
Dans ce cas, la transformation en langage machine se fait au moment de l'exécution du programme : un interpréteur traduit le programme, ligne par ligne.
Le langage Python est un langage interprété.
Comme pour les langages compilés, il est nécessaire de disposer d'un interpréteur approprié pour chaque langage utilisé. Un programme écrit en langage Python doit être traité par un interpréteur Python.
Quand une ligne du programme doit être exécutée un grand nombre de fois, l'interpréteur la traduit autant de fois qu'elle est exécutée. Il en résulte une perte de temps et donc une moins grande rapidité des programmes en langage interprété par rapport aux langages compilés.
Par contre, il est plus rapide d'exécuter quelques lignes de programme afin de les tester dans un langage interprété.
Le rôle du compilateur est de:
 transformer le langage évolué en code binaire
écrire le texte des programmes d'ordinateurs
 traduire le code binaire en langage compréhensible
Un programme complexe qui doit s'exécuter très rapidement sera plutôt écrit
dans un langage compilé
Dans un langage interprété
Indifféremment dans un langage compilé ou interprété
Si l'on souhaite pouvoir disposer du code source d'un programme, il vaut mieux choisir un logiciel écrit
Dans un langage compilé
Dans un langage interprété
Indifféremment dans un langage compilé ou interprété
Un programme binaire est obtenu suite au travail
D'un compilateur
D'un interpréteur
Indifféremment dans un langage compilé ou interprété
La différence entre un interpréteur et un compilateur est que:
 Le compilateur est spécialisé dans un langage alors qu'un interpréteur peut traiter tous les langages évolués
 L'interpréteur traduit une ligne de code à la fois, cependant que le compilateur traduit tout le programme en une fois
 Le compilateur traduit une ligne de code à la fois, cependant que l'interpréteur traduit tout le programme en une fois
 Il n'y a pas de différence entre un compilateur et un interpréteur

Posts les plus consultés de ce blog

Développements limités : définition et propriétés

Développements limités : définition et propriétés Les développements limités consistent grosso modo à trouver une approximation polynômiale à une fonction plus compliquée, au voisinage d'un point choisi. Ils ont de nombreuses applications dans d'autres sciences (physique,...), mais aussi dans les mathématiques elles-mêmes, en particulier en analyse numérique. D.L. d'ordre   en  Définition   On dit que   admet un   ssi il existe un polynôme   et une fonction   t.q.      et   On appelle alors   la partie régulière du DL, et   le reste d'ordre  , que l'on note aussi  .   Exemple  [fondamental]  , donc   admet un   de partie régulière   et de reste . Remarque  On permet le cas  , mais les seuls cas utiles sont ceux ou   (adhérence de  ), par exemple   ou  . Remarque  ...

Le langage et l'interpréteur Python Patie 1

Le langage et l'interpréteur Python Cette partie du cours aura pour but de nous familiariser avec les concepts principaux de la programmation des ordinateurs.  Nous y apprendrons les rudiments de la programmation dans le cadre du langage  Python . Ce que nous aurons acquis en programmation  Python  pourra ensuite être réinvesti dans la programmation en d'autres langages. Ce cours sera largement basé sur l'ouvrage de G. Swinnen,  Apprendre à programmer avec Python . Ce livre est disponible dans le commerce et peut aussi être  téléchargé gratuitement et légalement . Pourquoi ce langage s'appelle-t-il Python? Ce langage a été conçu par  Guido van Rossum , fan inconditionnel des  Monty Python . D'où le nom. Comment disposer du langage Python sur son ordinateur? Les compilateurs du langage Python sont disponibles pour  Linux/Unix, Mac OS/X ou Windows . Le langage Python est distribué sans frais sous licence "Open Source"...

Conseils et stratégies Pour REUSSIR ses études supérieures

Conseils pour réussir ses études supérieures jusqu'à la thèse      ou : comment avoir toujours la moyenne et même beaucoup plus Ce qui suit s'adresse principalement à des étudiant(e)s de Sciences, mais la plus grande partie du message s'applique à tous les types d'études, à toutes les disciplines et à tous les établissements. Avec une légère adaptation, les conseils fournis peuvent même servir à un public plus jeune (lycéen(ne)es, scolaires...). Il s'agit bien sûr de conseils et non pas de recettes à appliquer bêtement. 1. «Le truc essentiel» :   le plaisir Faire des études supérieures, c'est un choix et un engagement, mais c'est surtout une grande jouissance. On y gagne à y être   intellectuel(le), voire même à devenir   intelligent(e)   tout en prenant du plaisir à lire, à écrire, calculer. Découvrir les mécanismes qui régissent le monde, maitriser les ordinateurs, les modèles mathématiques, économiques ou biologiques sous-j...