2010-04-02 5 views
1

Ruby a été autour depuis un certain temps maintenant je me demandais si un travail était fait sur un compilateur pour cela? Je sais que la conception du compilateur est entravée par des choses comme Eval(), donc je ne m'attendrais pas à ce que les implémentations soient précises à 100%? Mes propres recherches ont abouti à des résultats clairsemés.Quel est l'état de Ruby en tant que langage compilé?

+1

Un mauvais compilateur créera des programmes aussi lents qu'un mauvais JITer - ce n'est pas quelque chose que les gens devraient faire. –

+0

@Unicorn ~ Même un mauvais compilateur fonctionne un obfuscator de base. Il y a de nombreuses raisons pour lesquelles quelqu'un pourrait vouloir construire un compilateur en plus de la rapidité d'exécution, comme des universitaires pures, et bien d'autres encore. – QueueHammer

Répondre

3

MacRuby offre la compilation Ahead-of-Time à partir de la version 0.5. Il utilise LLVM pour compiler les binaires qui s'exécuteront sur l'environnement d'exécution Objective-C.

+0

Je cours sur des fenêtres mais des deux réponses préférées de la plate-forme J'aime OSX plus. – QueueHammer

0

Rubinius est un compilateur JIT pour Ruby. Un compilateur pur n'existera jamais pour Ruby car le langage est trop dynamique pour qu'un compilateur statique fonctionne. Tout ce qu'il ferait en interne serait incroyablement moche et évoluerait vers un JIT comme ils ont essayé de l'optimiser de toute façon.

+1

Je ne connais pas vraiment Ruby. Est-ce vraiment beaucoup plus dynamique que Common Lisp, qui est normalement compilé? –

+0

Voici une bonne marche cependant de certaines des idées sur ce qui est ou n'est pas un langage compilé. http://stackoverflow.com/questions/376611/why-interpreted-langs-are-mostly-ducktyped-while-compiled-have-strong-typing/376828#376828 – QueueHammer

0

Il y a Mirah, pour la compilation du code Ruby en bytecode Java:

http://www.mirah.org/

Je crois que vous pouvez obscurcir votre code de cette façon.

Questions connexes