Le compilateur et l'interpréteur, les deux ont l'intention de faire le même travail mais de façon diffèrent. Le compilateur prend le code source de manière agrégée, tandis que l'interpréteur prend les parties constitutives du code source, c'est-à-dire, instruction par instruction.
Un interpréteur est un programme informatique qui traite le code source d'un projet logiciel pendant son fonctionnement – c'est-à-dire pendant son exécution – et joue le rôle d'interface entre le projet et le processeur.
Dans un langage interprété, le même code source pourra marcher directement sur tout ordinateur. Avec un langage compilé, il faudra (en général) tout recompiler à chaque fois ce qui pose parfois des soucis.
Un compilateur est un programme qui traite les instructions écrites dans un langage de programmation donné pour les traduire en langage machine, ou « code », utilisé par le processeur d'un ordinateur.
Un langage interprété est un langage qui est lu ligne par ligne par un interpréteur. L'interpréteur va passer à travers chaque ligne de votre code Python pour le traduire en langage machine (votre ordinateur ne sait pas exécuter du code Python directement, il a besoin de langage machine).
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é.
Le langage utilisé par le processeur est appelé langage machine. Il s'agit des données telles qu'elles arrivent au processeur, constituées d'une suite de 0 et de 1 (données binaire).
soit un interpréteur, qui lit et traduit le code source en langage binaire au fur et à mesure de l'exécution ; soit un compilateur, qui traduit les fichiers du code source pour donner des fichiers du programme compilé en langage binaire exécutable, une fois pour toute.
Le premier compilateur, A-0 System (pour le langage A-0) est écrit par Grace Hopper, en 1952.
Le langage le plus proche de la machine se nomme assembleur. C'est un langage qui permet des instructions très basiques. On l'utilise assez rarement car il est beaucoup plus efficace pour un être humain d'écrire dans un langage de haut niveau comme le C ou le JavaScript.
Java est un langage interprété, ce qui signifie qu'un programme compilé n'est pas directement exécutable par le système d'exploitation mais il doit être interprété par un autre programme, qu'on appelle interpréteur.
Java est un langage de programmation et une plate-forme de calcul lancé par Sun Microsystems en 1995. Depuis ses débuts modestes, Java a beaucoup évolué. A l'heure actuelle, une grande partie du monde numérique dépend de Java : de nombreux services et applications reposent sur cette plate-forme fiable.
L'interpréteur fonctionne de façon similaire au shell Unix : lorsqu'il est appelé avec l'entrée standard connectée à un périphérique tty, il lit et exécute les commandes de façon interactive ; lorsqu'il est appelé avec un nom de fichier en argument ou avec un fichier comme entrée standard, il lit et exécute un script ...
Par défaut les navigateurs Web comprennent seulement les 3 langages suivant : Le langage HTML. Le langage CSS. Le langage JavaScript.
Le langage machine est la suite de bits qui est interprétée par le processeur de l'ordinateur lors de l'exécution d'un programme. C'est le langage natif du processeur, et le seul qui soit reconnu par celui-ci. Un processeur ne peut comprendre un langage rentré par l'utilisateur, un programme python ou java par exemple.
Un compilateur informatique est un programme qui traduit le code source (compréhensible par les humains) en code binaire (compréhensible par les machines). Le but étant de générer un programme exécutable par un ordinateur.
Le C est un langage compilé, c'est-à-dire qu'un programme appelé "compilateur" transforme le code source (le code écrit par le programmeur) en langage machine.
Les navigateurs web
Un navigateur est un logiciel de consultation du World Wide Web. Le moteur de rendu du navigateur traite l'adresse web que tape l'utilisateur, charge la ressource (page HTML , feuille de style CSS , images...) et l'affiche.
La particularité de Malbolge est qu'il a été conçu pour être le langage de programmation le plus difficile et le plus exotique possible. Toutefois, certaines des astuces utilisées pour rendre la compréhension difficile peuvent être simplifiées.
En résumé, Python est le langage le plus facile à apprendre, C++ est le plus puissant, JavaScript est le plus demandé, et Java a la meilleure longévité.
Le différence entre un algorithme et un programme est souvent une question de niveau de détail. Un algorithme est souvent exprimé avec une notation indépendante de tout langage de programmation alors qu'un programme est écrit dans un langage de programmation particulier.