【发布时间】:2010-08-22 19:25:30
【问题描述】:
我有各种用 Ruby 编写的脚本:
rails (symfony)
ruby (php, bash)
rb-appscript (applescript)
是否也可以用 Ruby 替换低级语言?
我用 Ruby 编写,它会将其转换为 java、c++ 或 c。
原因人们说,当涉及到 Ruby 中对性能更为关键的任务时,您可以使用 C 对其进行扩展。但是扩展一词意味着您编写的 C 文件只需在 Ruby 代码中调用。我想知道,我是否可以改用 Ruby 并将其转换为 C 源代码,然后将其编译为机器代码。然后我可以用 C 语言“扩展”它,但用 Ruby 代码。
这就是这篇文章的内容。用 Ruby 编写一切,但获得 C(或 Java)的性能。
第二个优点是您不必学习其他语言。
就像 PHP 的 HipHop。
有这方面的实现吗?
【问题讨论】:
-
khm、Java 和 C# 不是低级语言 :)
-
Nikita:Alan Perlis 说“当它的程序需要关注不相关的东西时,编程语言是低级的”。作为一个用 Java 和 C# 以及低级和高级语言编写多年的人,我确实将这两种语言称为低级。 (在我看来,C#4 会敲 HLL-hood 的大门,除非它变得如此复杂以至于需要注意其复杂性本身可能会导致它不符合 Perlis 的标准。)它真的与程序员相关吗每次需要 5 行时重新实现 lambda?
-
@Ken 我曾经认为高级语言可以让你从了解计算机的细节及其工作原理中解放出来。从这个意义上说,函数式、过程式和 OO 语言都可以是高级语言。非常复杂的语言(如 Ada)仍然可以是高级的。至于 Alan Perlis,这句话有点含糊,没有上下文很难说出他的意思。
-
Nikita:我同意函数式、过程式和 OO 语言可以是高级语言,我已经使用了所有这些的好例子。我还是不能板着脸说“Java是一门高级语言”。 :-)
标签: ruby