Langage compilé vs interprété<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> min read</span>

Langage compilé vs interprété6 min read

Tout les programmes sont des suites d’instructions lisible par des humains. Pour qu’ils fonctionnent, ils doivent être transformés en code lisible par l’ordinateur.

Il existe deux façons de faire, on peux compiler le code c’est à dire le traduire en binaire ou l’interprété, c’est à dire le lire en temps réel et exécuter les instructions. C’est l’interpréteur qui se charge de faire ça.

Concrètement, quelle est la différence entre les deux ?

L’interpréteur se charge de traduire le code humain vers du code machine en temps réel. Prenons une analogie, vous essayez de préparer une recette mais elle est en espagnole. Vous pouvez bien sûr traduire la recette avant, dans ce cas c’est le langage compilé.

Mais vous pouvez aussi demander à un amis de lire la recette pendant que vous préparez, c’est le langage interprété.

Les langages compilés

Les langages compilés sont directement transformés en code machine après l’écriture, autrement dit, on passe d’un code lisible par un humain à du binaire.

Grâce à ce système, ils sont beaucoup plus rapide que les langages compilés. C’est logique, il n’y à pas de traduction en temps réelle qui prends du temps. Si vous voulez cuisiner le plus vite possible, il vaut mieux traduire à l’avance plutôt que de prendre un interpréteur n’est ce pas ?

Puisque le code est directement transformé en binaire, il n’y à pas de programme qui permets de faire le dialogue. Vous devez donc gérer vous même des aspects comme la mémoire, les types de variables, la gestion du CPU etc…

Globalement, ces langages sont plus performants mais aussi bien plus complexes.

Pour traduire le code humain vers du binaire, on utilise un compilateur. C’est un programme qui va simplement lire le code et générer un fichier binaire correspondant. Il existe aussi un autre programme généralement couplé, le pré compilateur. Son rôle est de fusionner tout les fichiers de code ensemble et d’ajouter des raccourcis dans votre code.

Gardez une chose en tête, contrairement aux langages compilés, ces programmes ne s’exécutent qu’une fois et surtout, ils travaillent avant que le programme soit exécutable. Une fois compilé, le code n’as besoin de personne pour travailler.

Du coup, vous devez recompiler votre code à chaque modification. C’est un processus long qui peux prendre plusieurs heures, pour des programmes gigantesque, ce qui ralenti votre vitesse de travail.

Les deux langages compilés les plus populaires sont C et C++. Ils sont utilisés dans la création de jeux vidéos, de logiciels de bureau, d’intelligence artificielle et de système d’exploitation.

Les langages interprétés

Les langages interprétés fonctionnent assez simplement. Un programme va lire les instructions et va effectuer les actions correspondantes. Le soucis, c’est que l’interpréteur doit relire le programme à chaque fois, ce qui ralenti considérablement les performances du langage.

Il est possible de créer des nouveaux langages de programmation en créant des interpréteurs. Python par exemple est développé en C.

Puisque le code est interprété à chaque fois, il n’y à pas d’étapes avant que le programme puisse fonctionner. Vous pouvez donc modifier votre code et relancer votre programme directement.

Dans ce cas, le programme (interpréteur) fonctionne pendant le programme et non pas avant (compilateur)

Voici quelques exemples de langages interprétés populaires : Python, Javascript, PHP, Ruby

Les avantages et désavantages de chaque système

Il n’y à pas de meilleure solution. Chaque système as ses avantages et ses inconvénients. Lorsque l’on débute, on s’imagine souvent qu’il y a une bonne et une mauvaise solution. Essayez de vous sortir ça de la tête

Les avantages des langages compilés

Les langages compilés sont plus rapides que les langages interprétés. C’est un fait.

Ils sont donc préférés pour développer les systèmes d’exploitation, les logiciels puissants et les jeux vidéos.

Les désavantages des langages compilés

Les langages compilés possèdent plusieurs désavantages :

  • Ils demandent beaucoup plus de lignes de code
  • Ils sont plus dure à apprendre
  • Vous devez gérer des concepts complexes comme la mémoire
  • Votre code compilé dépends de la plateforme

Les avantages des langages interprétés

Les langages interprétés vous donnent une plus grande flexibilité par rapport aux langages compilés. Les langages interprétés fonctionnent sur toutes les plateformes. Le code est plus léger, plus simple à écrire. Globalement, il est plus simple d’utiliser ces langages

Les désavantages des langages interprétés

Le gros désavantage des langages interprétés, c’est leur vitesse. Ils sont significativement plus lents que les langages compilés. Ce qui pose problème pour créer des logiciels rapides, des jeux vidéos ou des systèmes d’exploitation.

En conclusion

Chaque système as ses avantages et ses inconvénients. Vous devez choisir selon vos besoins et vos envies.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation. Vous n’avez qu’à inscrire votre email et je vous l’enverrai !

Vous abonner à notre newsletter

* champ requis

Laisser un commentaire

Fermer le menu
×
×

Panier