Ruby的实际问题是什么?

时间:2009-10-17 14:16:15

标签: ruby

Ruby是一门很棒的语言。它快速而灵活,让我想起了很多我非常喜欢的Python。

Ruby也很受欢迎,已经有几年了。现在有一些“真实世界”项目和“rails-app业务”,我的问题是:Ruby有什么问题?什么事情做得不是特别好?在集成时是否还有其他产品或技术被证明特别难以处理?在为关键任务应用程序采用Ruby之前,应该让开发人员停下来并注意什么?

此外,有没有人编制过生产Ruby开发的一些主要缺陷列表(博客垃圾邮件或其他)以及如何减轻这些风险?

编辑:

“真实世界”是指商业世界,而不是没有预算和时间表的学术世界。

5 个答案:

答案 0 :(得分:12)

有一篇题为Lessons Learned in Large Computations with Ruby的文章,值得一读。

答案 1 :(得分:2)

Ruby并不快。它确实有其他特性,但如果您的CPU存在任何瓶颈(在许多Web应用程序中并非如此),那么Ruby就不是一个合适的工具。当前的“标准”Ruby甚至没有编译成字节码(例如像Python一样),而是解释了AST,这可能会使得减速在20-100的范围内。但是,使用Ruby 1.9可能会改变(或者至少会变得更好)。和JRuby一样,基于JVM,你肯定知道。

答案 2 :(得分:1)

如果Ruby的性能在您的特定情况下有所不足,我建议您查看JRuby。它允许您以JIT或AOT方式将vanilla Ruby代码编译为JVM字节码,并允许访问Java的并发性和优秀的应用服务器。

答案 3 :(得分:1)

Ruby的速度并不是它的主要问题。最大的问题是它是单线程的。 Max A.的建议很好。 JRuby允许并发。

答案 4 :(得分:0)

Ruby是一种解释型语言,因此执行代码的速度比Java和C#等Just-In-Time编译语言慢50倍(基于我见过的测试)。这是否是一个问题取决于网站本身的工作方式,因为大多数网站的带宽和数据库时间往往受限于CPU时间。