【发布时间】:2023-03-28 10:08:01
【问题描述】:
与许多其他人一样,我始终坚信“对于 Ruby 而言,永远不会存在纯编译器,因为该语言过于动态,静态编译器无法工作。”
但我最近偶然发现了这些:
The Crystal programming language at GitHub
这两个项目似乎都很有趣。它们可以为我们提供本机编译语言的速度(以及编译语言的商业上经常需要的混淆代码),同时保持 Ruby 的所有(或大部分)优雅和灵活性。添加一个好的支持库(或者,更有可能是访问现有 C++ 库的可能性),您就可以很容易地理解为什么这些东西会很有趣。
有人试过水晶语言吗? (我还没有,因为 ruby-llvm 的编译问题)
他/她对此有何感受?
您是否认为,考虑到这些设计选择,是否真的有可能为 Ruby 开发本机代码(机器代码)编译器(通过合理的努力和合理的时间)?它会有意义吗?
【问题讨论】:
-
如果编译器是正确的,怎么会失去意义?
-
是否有意义(即:有用)开发这样的编译器,当然。我怎么会傻到认为编译器本身没有意义(即:正确)。
-
据报道,JRuby 的运行速度与任何其他 Java 应用程序一样快(重量比重量)。我曾经使用 Smalltalk,并认为它是 slow ...但是,确实是我们拥有的 IDE 是滞后的。实际的 Smalltalk 模块本身是从 C 和 C++ 运行时使用的。我要说的是深奥的语言可以很快;就是爱迪生提到的99%的汗水。
标签: ruby crystal-lang