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é?
Répondre
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.
Je cours sur des fenêtres mais des deux réponses préférées de la plate-forme J'aime OSX plus. – QueueHammer
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.
Je ne connais pas vraiment Ruby. Est-ce vraiment beaucoup plus dynamique que Common Lisp, qui est normalement compilé? –
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
Il y a Mirah, pour la compilation du code Ruby en bytecode Java:
Je crois que vous pouvez obscurcir votre code de cette façon.
- 1. Quel type de tableau est Foo() en tant que Foo()?
- 2. Autre langue (cadres) dans laquelle la boucle d'événements est exposée en tant que construction de langage?
- 3. PHP en tant que langage de script intégré
- 4. Quel est ce langage de programmation?
- 5. Langage compilé adapté au nouveau projet
- 6. quel est le meilleur langage de programmation pour le sélénium?
- 7. Quel est le meilleur moyen de géocoder de grands ensembles en tant que processus d'arrière-plan dans Ruby on Rails?
- 8. ruby en cours d'exécution en tant que programme exe Windows
- 9. Windows: Quel langage de programmation?
- 10. Exécution de python compilé (py2exe) en tant qu'administrateur dans Vista
- 11. Quel langage de programmation a cette syntaxe?
- 12. Activer l'application C en tant que Webservice
- 13. Traitement du langage naturel en Ruby
- 14. Ruby prog ne fonctionnera pas en tant que LaunchDaemon
- 15. Quel est l'équivalent de « référence de la méthode » en Ruby
- 16. est en tant que pl/sql
- 17. comment passer un itérateur Ruby en tant que paramètre?
- 18. Comment accepter n'importe quel délégué en tant que paramètre
- 19. Quelle est la qualité de SilverLight en tant que technologie?
- 20. Est-il normal que tant de processus ruby soient en cours d'exécution?
- 21. Quel est l'équivalent Ruby de preg_quote()?
- 22. Quel langage de balisage? Markdown ou?
- 23. Quel langage de codage est écrit dans silverlight?
- 24. Quel est le processus de création d'un langage interprété?
- 25. Projet C++ compilé en tant que bibliothèque statique mais pas dynamique (Visual Studio)
- 26. Débogueur Visual Studio 2008 affiche incorrectement C++ en tant que langage en solution C#
- 27. Quel est l'équivalent de "require" (Ruby) en Python?
- 28. tableau en tant que paramètre
- 29. Quel est le langage de programmation le plus concis?
- 30. Dans quel langage de programmation IIS est-il écrit?
Un mauvais compilateur créera des programmes aussi lents qu'un mauvais JITer - ce n'est pas quelque chose que les gens devraient faire. –
@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