一个问题是Ruby在运行时做了什么。与C语言相比,它是一种解释语言,而C语言是编译语言。它的可行性如何?Ruby每年都在变得更快,但是它是如何做到的呢?正在做什么?是我们经常使用的方法(each、map等)是不是用C语言写的,加速了一切?长期的目标是让Ruby成为C语言,让它像C一样快吗?在尝试将Ruby编写的代码转换为C语言,然后运行它时,最大的问题是什么?或者,这个问题没有任何意义吗?如果有,原因何在?
发布于 2013-06-13 15:00:14
Ruby提供了比C多得多的功能。例如,C编程的一个缺点是程序员必须进行内存管理。这需要时间、自律和技能。缺少这些都会导致错误和安全漏洞。但它会产生快速的运行时,因为它是针对特定情况而不是一般情况量身定做的。
它为你做内存管理,这意味着(通常)更少的bug和更安全的代码。
C是一种静态语言-类型和操作的决定必须在编译时进行。Ruby是一种动态语言,可以将决策推迟到运行时,这将导致更灵活和反应性更强的语言。比较C和Ruby就像比较苹果和橙子一样。
当然,你可以用C来做这些事情,正如你所说的,Ruby是用C写的,但这是一项大量的工作,你最好是一个非常好的程序员。
https://stackoverflow.com/questions/17080878
复制相似问题