[quote][b][url=/v3/forum/autres-sujets-militaires-44/topic/la-guerre-via-internet-1326/?post=73950#post-73950]d9pouces[/url] a dit le 16/03/2012 à 22:05 :[/b] J'en déduis que tu t'y connais un peu :] Je traduis : un programme s'écrit dans un langage informatique (comme le C, Fortran, C++, ...) « facilement » compréhensible par un humain, qui est ensuite traduit (on dit « compilé ») en instructions élémentaires (toujours compréhensibles par un humain) qu'on appelle assembleur. Et ensuite, ces instructions élémentaires sont traduites en 0 et 1. Ces instructions élémentaires sont les mêmes quelque soit le langage de départ, et à chaque étape de traduction on perd de l'information (utilisé par les humains pour expliciter ce que le programme fait, mais inutile pour le processeur). Ainsi, théoriquement, quand on a seulement le produit final, on ne peut plus retrouver le programme d'origine. Cependant, tout comme un auteur a son propre style littéraire, chaque compilateur laisse son empreinte. De plus, un humain peut écrire directement en instructions élémentaires (« assembleur ») mais certaines « tournures de phrases » sont trop complexes pour lui alors qu'elles seront naturelles pour un compilateur. On peut voir ça comme la différence entre une traduction français -> russe faite par un logiciel ou par un homme, en supposant qu'en plus le logiciel mettra certains bouts de phrases à l'autre bout du texte (tout en conservant le sens exact !). Pour aller un peu plus loin, un langage objet va laisser des traces reconnaissables : il y aura des pointeurs vers les méthodes des classes dans chaque instance, un code d'initialisation commun, ... On va également retrouver les appels aux fonctions classiques de chaque langage (printf dans programme C, ou à cout en C++, ...)[/quote]