33

像许多其他人一样,我始终坚信“对于 Ruby 而言,永远不会存在纯编译器,因为该语言过于动态,静态编译器无法工作。”

但我最近偶然发现了这些:

GitHub 上的 Crystal 编程语言

静态编译的 Ruby

这两个项目似乎都很有趣。它们可以为我们提供本机编译语言的速度(以及编译语言的商业上经常需要的混淆代码),同时保持 Ruby 的所有(或大部分)优雅和灵活性。添加一个好的支持库(或者,更有可能是访问现有 C++ 库的可能性),您就可以轻松理解为什么这些东西会很有趣。

有人试过水晶语言吗?(我还没有,因为 ruby​​-llvm 的编译问题)

他/她对此有何感受?

您是否认为,考虑到这些设计选择,是否真的有可能为 Ruby 开发本机代码(机器代码)编译器(通过合理的努力和合理的时间)?会有意义吗?

4

2 回答 2

46

我是水晶的开发者。目前,并非所有内容都从项目符号列表中实现。事实上,类才刚刚开始实施。

我真的很喜欢它的想法。但我需要更多地考虑如何实现它。而且我还需要更多的时间,呵呵。

第二篇文章有一个完全不同的方法,因为它不会引入一种新语言:它只会尝试编译 Ruby 的一个子集,或者可能会被编译为本地代码,但仍然允许一些动态性和性能成本(我谈过几个月前那篇文章的作者)。

我对这两种方法的感觉:我真的认为它可能会发生。我们需要一种快速的语言,它具有优雅、易读、易于使用的语法和库(就像 Ruby 提供的那样)。

于 2012-04-20T08:09:10.280 回答
12

我是Foundry的开发者;第二篇文章是我的。

最近一篇关于同一主题的文章是“面向嵌入式开发人员的语言”或者您也可以通过在foundry-lang.org订阅来跟踪开发进度。

但是请注意,我的项目是商业项目,(至少在最初)不是开源的,并且主要专注于嵌入式开发。当然,您仍然可以在台式机或服务器上使用它。

我也是 ruby​​-llvm 的维护者之一;请将您遇到的问题报告为项目页面上的错误。

于 2013-04-24T08:39:22.947 回答