11
votes

Quelles langues de programmation ont des compilateurs JIT?

Je sais c # et java faire. Quelqu'un d'autre connaissez des autres?


0 commentaires

12 Réponses :


1
votes

C ++ avec des bibliothèques supplémentaires.


0 commentaires

12
votes

Strictement parler, JIT est une propriété de l'exécution, pas la langue. Point pédant, mais l'implication est que toute langue qui fonctionne sur une JVM par exemple peut tirer parti de la JVM's JIT. Jython, Jruby, Groovy, etc.

Tamarin a un Jit aussi. Je pense que cela peut exécuter JavaScript et ActionScript? Pas positif ...


1 commentaires

Droit. J'ai changé le titre de cette question pour refléter ce fait, merci!





1
votes

C # n'utilise pas JIT. C # compile en CIL pour la plate-forme .NET et .NET utilise JIT au moment de l'exécution.

.NET est beaucoup plus que celui de C #. Il y a aussi vb.net, Delphi.net, Fujitsu Cobol, IronRuby, IronPython, F #, etc. Toutes les langues ciblent la plate-forme .NET utilisent le compilateur .NET JIT au moment de l'exécution.


0 commentaires

1
votes

Les langages de programmation n'utilisent pas JIT. Programmes utilisez JIT.

C # n'a pas de JIT C # est traduit en CIL et CIL 'exécutable' est exécuté JIT.

Dalvik utilise la syntaxe de Java, mais est compilée à son propre bytecode. Dalvik VM est totalement différent de Java VM.


1 commentaires

+1 pour mentionner Dalvik. C'est ce qui m'a initialement motivé à poser cette question.



5
votes

Lua a l'impressionnant Luajit .

schéma PLT a eu un JIT depuis un certain temps maintenant.

Je crois que ces deux sont limités à x86.


1 commentaires

Luajit for x86-64 est en version bêta et sera bientôt disponible.



2
votes

SmallTalk a des compilateurs JIT.


0 commentaires

2
votes

Pour Python, il y a un Pypy Projet, qu'il inclut JIT (permettant au code de fonctionner plus rapidement que dans cpython dans de nombreux cas)


0 commentaires

3
votes

Il y a une certaine confusion sur ce qui définit / utilise un compilateur JIT: est-ce une langue de programmation? Est-ce un programme? un environnement d'exécution ?.

En fait, c'est une implémentation d'un langage de programmation particulier qui fournit un compilateur JIT pour des architectures spécifiques d'instructions cible (X86, X86_64, PPC, ...).

Par exemple, la mise en œuvre SBCL fournit un compilateur JIT pour la LISP commune, mais d'autres implémentations de cette langue ne sont pas (telles que CLISP).

Un autre exemple, la mise en œuvre OpenJDK de la machine virtuelle Java fournit un JIT pour certaines architectures, mais pas pour d'autres (comme bras) où la bytecode est toujours interprétée.

Note latérale: N'oubliez pas le langage de programmation factorielle. La mise en œuvre utilise fortement un compilateur JIT.


0 commentaires

1
votes

Pas un expert Julia moi-même, mais c'est une langue qui repose fortement sur JIT. Beaucoup d'ici affirment que JIT est purement un aspect de la mise en œuvre de l'exécution de la langue; Et c'est ainsi que cela a été conçu à l'origine. Mais la conception de Julia comme langue est fortement influencée et construite autour de Jit, si je comprends.


0 commentaires

0
votes

Julia a été conçu à partir du sol jusqu'au travail avec des compilateurs JIT.


0 commentaires