Qu'est ce que la compilation ?
La compilation AOT est la plus ancienne et probablement la plus courante. Ici, le programme source est directement converti en code machine, et un fichier exécutable est produit.
Autrement dit, c'est de la compilation vers l'ASM, non ?
La compilation JIT est quasiment identique à la compilation AOT, à un détail près : le code machine généré est directement exécuté par le compilateur.
Tu veux dire par là qu'on n'a pas de fichier à exécuter ?
Ces langages reposent sur un interprète, qui exécute le programme source instruction par instruction, sans passer par le langage machine.
Peut-être pourrais-tu clarifier le "sans passer par le langage machine" en le remplaçant par un truc du genre "sans le transformer en langage machine" ?
On retrouve des techniques de compilation dans les moteurs de recherche, les agents conversationnels, et même dans des domaines éloignés de l'informatique, comme la génétique.
Aurais-tu des liens à fournir pour le lecteur curieux ?
Un truc qui me praît étrange, c'est que tu ne parles pas de compilation d'un langage quelconque vers un autre. En effet, les compilations AOT et JIT semblent compiler vers de l'ASM uniquement. Du coup, dans quelle catégorie se situerait un compilateur Python vers JavaScript ?
En outre, il me semble intéressant d'expliquer les avantages et inconvénients de chaque type de compilation. Notamment, la question qu'on risque de se poser c'est : pour interpréter un langage au lieu de le compiler (à proprement parler) ?
Je me demande si ajouter des schémas pour chaque type de compilation n'aiderait pas à comprendre.
Déroulement d'une compilation
Partons d'une expression mathématique :
Je ne comprends pas trop ce que tu veux dire par là, dans le sens où je ne comprends pas trop ce qu'on est en train de faire : quel est le langage de départ et quel est celui d'arrivée ?
En fait, je ne suis pas sûr qu'il soit judicieux d'introduire les étapes de la compîlation via un exemple. Illustrer par un exemple, complètement, mais se restreindre à un exemple (surtout mathématique, alors qu'on s'attend plutôt à avoir un code source) risque, je pense, de priver le lecteur d'une vision globale sur le processus.
Je ne commente pas la suite maintenant, il faut que je relise pour faire un truc constructif.
Merci.