Avantages Et Inconvénients Des Langues Interprétées
j'apprends maintenant le Perl, mais quels sont les avantages et les inconvénients des langues interprétées?, parce que j'ai commencé à apprendre Perl parce que mon ami a commencé, alors ce n'est plus qu'une langue à mon expérience. Grâce.
8 réponses
Copie flagrante de wikipedia donc je vais faire ce wiki communautaire.
avantages des langues interprétées
les langues interprétées donnent aux programmes une certaine flexibilité supplémentaire par rapport aux langues compilées. Les caractéristiques qui sont plus faciles à mettre en œuvre dans les interprètes que dans les compilateurs incluent (mais ne sont pas limités à):
- indépendance de la plate-forme (Code byte Java, pour exemple)
- réflexion et usage réfléchi de l'évaluateur (p.ex. une fonction d'évaluation de premier ordre)
- typage dynamique
- facilité de débogage (il est plus facile d'obtenir des informations sur le code source dans les langues interprétées)
- petite taille du programme (depuis les langages interprétés avoir la possibilité de choisir l'instruction code)
- dynamique de la portée
- mémoire automatique la gestion des
inconvénients des langues interprétées
une exécution par un interprète est généralement beaucoup moins efficace que l'exécution régulière d'un programme. Cela se produit parce que soit chaque instruction doit passer une interprétation à l'exécution, soit comme dans les implémentations plus récentes, le code doit être compilé à une représentation intermédiaire avant chaque exécution. La machine virtuelle est une solution partielle au question de performance comme le langage intermédiaire défini est beaucoup plus proche du langage machine et donc plus facile à traduire à l'exécution. Un autre inconvénient est la nécessité d'un interprète sur la machine locale pour rendre l'exécution possible.
Pour:
- prototypage rapide (pas d'écriture, pas de compilation, pas de cycle d'exécution)
- multiplateformes (en supposant qu'il existe des interprètes pour chaque plate-forme)
Inconvénients:
- Performances (ne sera pas aussi rapide que les langages compilés)
plus gros inconvénient? La plupart diraient la vitesse d'exécution, mais ce n'est pas toujours vrai. La plupart des langues modernes interprétées ces jours-ci convertissent les fichiers à interpréter dans un état intermédiaire sur la construction, qui une fois exécuté est transformé en code machine comme n'importe quelle autre langue. Avec la mise en cache intelligente étant la plupart du temps prévalente dans ces VMs de langue ces jours-ci, il ne devrait pas être trop d'un problème. Cela ne veut certainement pas dire que la performance n'est pas un problème d'interprétation. les langues, juste que ce n'est souvent pas aussi mauvais que la plupart le suggérerait.
gardez à l'esprit que même avec les problèmes de performance cependant, il est souvent plus facile d'accomplir les mêmes tâches qu'un langage compilé dans un code de moins en plus efficace, ce qui rend la perte de performance pendant la compilation négligeable sur le temps d'exécution d'un programme.
Personnellement, pour moi, le plus grand inconvénient est la nécessité pour l'interprète de toujours être présents avant l'exécution peut produire. Cela réduit souvent la portabilité, surtout parce que les langues interprétées ne sont pas toujours multiplateformes.
Con:
- le plus grand inconvénient est probablement la vitesse d'exécution
Pro:
- le plus grand avantage est probablement le temps d'exécution, c'est-à-dire la boucle d'itération d'essai de code
pour dire le point évident et large, les langages compilés ont tendance à avoir des performances plus élevées que les langages interprétés, puisque la compilation exclut le besoin d'un interpréteur d'exécution.
Les langages compilésconviennent mieux aux logiciels de bureau commerciaux, puisque le code source n'est pas livré avec.
les langues interprétées ont tendance à être un peu plus rapides à apprendre, dans la mesure où elles vous permettent d'éditer/exécuter/répéter rapidement sans attendre compilateur. D'après mon expérience, elles ont tendance à être de niveau supérieur, ce qui les rend également plus faciles.
Wikipedia a une page sur les avantages et les inconvénients. Tout langage interprété très avancé peut être compilé dans un binaire natif, brouillant ainsi les lignes entre les avantages et les inconvénients d'un langage interprété.
PERL est l'une de ces langues qui brouillent les lignes. Bien que son célèbre pour être un langage de script puissant, vous pourriez le compiler pour être natif.
la "lenteur" des langages dynamiques tels que PERL n'est peut-être plus un problème. Voici une excellente présentation sur les dernières tendances dans le domaine dynamique de la langue:
http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html
Que java est interprété de la langue
Pour:
- Compatibilité: la machine virtuelle Java approuve ce concept "écrire une fois, exécuter partout."
- sécurité: le programme tournant dans JVM donc si une défaillance se produit, cela n'affecte pas les fichiers des systèmes d'exploitation.
- gestion de la mémoire.
Inconvénients:
- Java virtual machine a de nombreuses implémentations, par exemple lors de l'écriture d'un programme qui utilise des fonctionnalités Java 8 ce programme doit être exécuté sur JVM avec 8 version pas moins.