Je connais le terme "langages de script" est juste un sous-ensemble de langages de programmation, mais je souhaite faire référence à des langages de programmation tels que Python et Ruby parmi d'autres.
Tout d'abord, pourquoi n'avons-nous pas besoin d'un compilateur pour ces langues? Par exemple, les IDes comme Visual Studio ou Eclipse ont leur propre compilateur afin de traduire le code et d'exécuter le programme. Qu'est-ce que cela signifie pour qu'un langage de programmation soit interprété et comment vont-ils (python, ruby) compilé avant exécution dans le terminal sans compilateur?
De plus, lorsque nous installons Python ou Ruby dans nos ordinateurs avant de commencer à coder, qu'est-ce que nous installons réellement? paquets? des dossiers? quelque chose qui permet à notre ordinateur de comprendre la langue?
Qu'est-ce que cela signifie pour qu'un langage de programmation soit interprété et comment sont-ils compilés avant l'exécution dans le terminal?
Les compilateurs et les interprètes sont des choses très similaires, jusqu'à la dernière étape. Pour un compilateur, la dernière étape consiste à générer du code dans la langue de sortie et enregistrez-la. Pour un interprète, il n'essaie pas d'enregistrer votre code; Il essaie de l'exécuter immédiatement. Cela fait cela en décomposant le programme dans des commandes sémantiques de base, ce qui aime beaucoup le compilateur, puis exécutant ces commandes via un exécution qui les implique dans des logiciels.
2) En outre, lorsque nous installons Python ou Ruby dans nos ordinateurs avant de commencer le codage, qu'est-ce que nous installons réellement? paquets? des dossiers? quelque chose qui permet à notre ordinateur de comprendre la langue?
De manière générale, vous installez l'interprète et les bibliothèques standard. Très probablement, certains outils de base (tels que RÉP, dans le cas de nombreuses langues de script) sont installés également dans le cadre du package standard.
Un interprète est essentiellement un compilateur à mouches. Au moment de l'exécution, il faut votre code et traduit cela au code de la machine. C'est exactement ce que fait un compilateur à l'exception d'un compilateur le fait à la fois et avant d'exécuter le programme. Un interprète le traduit comme il en a besoin et le courait tout de suite. Pensez à un compilateur comme une personne traduisant un livre d'une autre langue dans votre langue maternelle, puis vous donnez le produit fini à lire. Pensez à un interprète comme une personne qui lit un livre dans une autre langue et comme ils le lisent, ils le traduisent et disent la traduction à haute voix contre vous. Certaines raisons que vous voudriez faire la compilation au moment de l'exécution plutôt que avant le temps d'exécution sont,
Votre code s'exécutera sur chaque plate-forme car l'interprète peut prendre en compte les détails spécifiques de la plate-forme au moment de l'exécution. Un compilateur standard ne peut compiler que pour le système utilisé pour compiler et doit donc être recompilé sur chaque nouveau système (Windows, OS X, Linux, etc.).
Lorsque votre code est interprété au moment de l'exécution, l'interprète peut effectuer des optimisations spécifiques à la machine pour utiliser des technologies spéciales (telles que des instructions spéciales d'une CPU) que toutes les machines n'ont pas. Cela peut parfois faire fonctionner votre code plus rapidement. Un compilateur standard ne peut optimiser que votre code que le résultat final doit pouvoir fonctionner sur une grande variété de versions matérielles et d'exploitation et ne peut donc utiliser qu'un ensemble d'instructions de processeur générique et générique ne peut utiliser que des fonctionnalités et ne peuvent pas en tirer parti. de technologies spéciales pouvant être disponibles aussi facilement (les programmes compilés peuvent toujours, mais cela doit être fait manuellement et n'est pas aussi facile).
Là beaucoup sont d'autres raisons pour lesquelles vous voudrez peut-être utiliser un interprète au lieu d'un compilateur. Si vous voulez en savoir plus, faites une recherche Google "compilée vs interprétée".
Lorsque vous installez un interprète dire Python Par exemple, vous installez l'interpréteur (le compilateur à mouches) et un ensemble standard de bibliothèques (par exemple, math). Il y a probablement des autres choses qui sont installé aussi bien, ce qui n'est pas vraiment important tel que le ralenti.