Ruby作为编译语言的状态是什么?

Ruby作为编译语言的状态是什么?,ruby,compiler-construction,Ruby,Compiler Construction,Ruby已经存在了一段时间了,所以我想知道是否有任何关于它的编译器的工作正在进行中?我知道编译器设计受到Eval()之类的东西的阻碍,所以我不希望实现是100%准确的?我自己的搜索结果很少。是Ruby的JIT编译器。Ruby永远不会有纯编译器,因为该语言过于动态,静态编译器无法工作。无论它在内部做了什么,都会非常难看,并且会朝着JIT的方向发展,因为他们试图优化它。从v0.5开始提供提前编译。它使用LLVM编译将在Objective-C运行时上运行的二进制文件。还有Mirah,用于将Ruby代码

Ruby已经存在了一段时间了,所以我想知道是否有任何关于它的编译器的工作正在进行中?我知道编译器设计受到Eval()之类的东西的阻碍,所以我不希望实现是100%准确的?我自己的搜索结果很少。

是Ruby的JIT编译器。Ruby永远不会有纯编译器,因为该语言过于动态,静态编译器无法工作。无论它在内部做了什么,都会非常难看,并且会朝着JIT的方向发展,因为他们试图优化它。

从v0.5开始提供提前编译。它使用LLVM编译将在Objective-C运行时上运行的二进制文件。

还有Mirah,用于将Ruby代码编译成Java字节码:


我相信你可以用这种方式混淆你的代码。

一个坏的编译器会创建和坏的JITer一样慢的程序-这不是人们应该努力的。@Unicorn~即使是一个坏的编译器也可以使用基本的混淆器。除了执行速度之外,还有很多原因,比如纯粹的学术研究,还有很多其他原因。我对Ruby不太熟悉。它真的比通常编译的Common Lisp更具动态性吗?下面是一些关于什么是编译语言或什么不是编译语言的想法。我在windows上运行,但在两个非首选平台响应中,我更喜欢OSX。