De ton code à la machine
Ton code lisible doit être traduit pour que la machine l'exécute. Ce chapitre regroupe les façons de faire cette traduction : compilation, interprétation, leur comparaison, et la transpilation.
De ton code à la machine
Tu écris ton code dans un langage lisible par un humain. La machine, elle, ne comprend que des 0 et des 1. Entre les deux, il faut le traduire, et il existe plusieurs façons de le faire.
Ce chapitre les passe en revue : la compilation (tout traduire avant de lancer), l'interprétation (exécuter au fil de l'eau), leur comparaison (où se situe chaque langage, AOT vs JIT), et la transpilation (traduire d'un langage vers un autre, comme TypeScript vers JavaScript).
Peu importe l'approche, le but est toujours le même : transformer ce que tu écris en quelque chose que le processeur sait exécuter. Choisis une note ci-dessous pour entrer dans le détail.
Pour aller plus loin
La compilation
Traduire le code que tu écris en code que la machine exécute, avant de le lancer : ce qu'est un compilateur, la différence entre « à la compilation » et « à l'exécution », et pourquoi certaines erreurs sont attrapées avant même de démarrer.
Les langages interprétés
Exécuter du code directement, sans étape de compilation préalable : ce qu'est un interpréteur, en quoi ça diffère d'un langage compilé, et pourquoi la frontière est en réalité floue (le JIT).
Compilation vs interprétation
La synthèse : compilé ou interprété n'est pas noir ou blanc mais un spectre. AOT vs JIT, où se situe vraiment chaque langage (C/Rust, C#/Java, Python, JavaScript), et ce que ça change pour toi.
La transpilation
Traduire du code source vers un autre code source de même niveau (TypeScript vers JavaScript, JSX vers JS) : ce qu'est un transpileur, à quoi ça sert, et pourquoi c'est une forme de compilation.