title: Code natif
text: # Code natif
  
  Un programme informatique en code natif (ou langage machine) est composé d’instructions directement reconnues par un processeur. Le code natif est donc lié à une famille particulière de processeurs partageant le même jeu d’instructions.
  
  Les programmeurs n’écrivent pas de code natif directement, ils rédigent des « programmes sources » en suivant les conventions d’un langage de programmation (langage d’assemblage ou langage de bas niveau comme C, C++, Pascal…), et la traduction de ces programmes sources en code natif est faite par des programmes (assembleur, compilateur, édition de liens, etc.).
  
  Certains compilateurs produisent du bytecode (en particulier les compilateurs des langages de haut niveau comme Java, Python…) au lieu du code natif. Ce bytecode n’est pas compris par les processeurs, et doit donc être soit interprété par un programme, soit converti en code natif avant d’être exécuté. La portabilité (possibilité d’exécuter le même code sur des machines très différentes) est un des avantages de cette approche, employée par exemple pour les applets Java, ou les animations Adobe Flash.
  
  