0

一个问题是 Ruby 在运行时做了什么。与 C 相比,它是一种解释型语言,C 是一种编译型语言。它有多可行?Ruby 每年都在变快,但如何?正在做什么?我们经常使用的方法(each,map等)是用 C 语言编写的,从而加速了一切吗?长期目标是通过成为 C 让 Ruby 与 C 一样快吗?尝试将用 Ruby 编写的内容转换为 C 并使其运行时,最大的问题是什么?或者,这个问题没有任何意义吗?如果是这样,为什么?

4

1 回答 1

5

Ruby 为您提供了比 C 更多的功能。例如,用 C 编程的缺点之一是程序员必须进行内存管理。这需要时间、自律和技巧。缺少任何这些都会导致错误和安全漏洞。但它会产生快速的运行时,因为它是针对特定情况而不是一般情况量身定制的。

使用 Ruby,您可以专注于应用程序,而不是机制。它为您进行内存管理,这意味着(通常)更少的错误和更安全的代码。但是没有免费的午餐——你会随着运行时间的增加而为此付出代价。

C 是一种静态语言 - 必须在编译时做出关于类型和操作的决定。Ruby 是一种动态语言,可以将决策推迟到运行时,这使得语言更加灵活和反应灵敏。比较 C 和 Ruby 就像比较苹果和橘子。

当然,你可以用 C 来做所有这些事情,正如你所指出的,Ruby 是用 C 编写的,但是工作量很大,你最好是一个该死的优秀程序员。

于 2013-06-13T07:00:13.933 回答