人们选择Ruby over Java的原因是什么?

时间:2009-03-30 12:53:02

标签: java ruby

我是Ruby的初学者。我听说过关于Ruby的以下抱怨,并希望Stack Overflow社区可以解决所提出的每个问题。

我听过的关于Ruby的常见抱怨:

  • Ruby比Java慢
  • Ruby不是静态类型
  • 它不适合大型项目

鉴于这些公认的基于意见的陈述,Ruby如何比Java更好? Ruby是否会成为企业和个人广泛使用的语言?

8 个答案:

答案 0 :(得分:9)

Ruby比Java运行速度慢但写入或读取速度更快。哪个更重要?我不知道世界上任何一家公司如果有机会(比如说)以两倍的硬件成本削减他们的开发时间,就会通过。

Ruby不是静态类型的,但Python,Perl,Lisp,shell脚本等都不是。这真的是一个问题吗?我相信你会发现动态语言中有很多人会抱怨Java,C#,C ++等是静态类型的。我们不乏基于动态语言构建的系统示例。

我同意Ruby不适合大型项目,但我们今天没有其他任何语言。软件工程的状态对我来说非常清楚:没有人能够可靠地构建大型系统。至少Ruby使您的大型项目在代码行中变小,这使得它们(在某种程度上)更易于管理。它在语法上更丰富,所以你可以说(更接近)你的意思。它写得更快,所以如果你走的是正确的道路,你会发现更快。

如果这些是反对Ruby的最佳论据,那么Ruby的表现比我想象的要好。

答案 1 :(得分:3)

Ruby的速度很快increased in the latest version。虽然在旧版本中Ruby是slower than other scripting languages.

答案 2 :(得分:2)

出于某些目的,Ruby的运行速度太慢。对于其他人来说,它足够快。

出于某些目的,Java开发需要很长时间。

对于某些应用程序,静态类型是不必要的,对于其他应用程序,这是非常需要的。

项目的规模在很大程度上是无关紧要的。

在某些方面,Java比Ruby更好,在其他方面,Ruby比Java更好。任何坚持认为在任何情况下都“更好”的人可能都不了解是否持有有效的意见。

那么JRuby呢?

我认为现在已经相当充分地记录了Ruby“受欢迎”。例如,不像Java,C ++或C那样“受欢迎”,但仍然很受欢迎。

答案 3 :(得分:1)

问题的答案“哪种语言更好,这个还是那个?”总是主观的。当然,客观性是有效的,你可以以某种方式得出关于X任务/项目更好的语言的结论。

然而,即便如此,如果你的团队对某些其他语言感到满意,这种语言不是某项任务/项目的首选,但是无论如何都可以完成工作......一个聪明的团队会选择使他们成为的语言很高兴,因为他们的生产力也会更高。

总结,没有人能告诉你他的选择比你的选择更好。他们可以试着说服你,但如果由于某些原因X语言让你更兴​​奋,他们就无法做任何事情。

话虽如此:就性能而言,Ruby 1.9+已经有了很大的改进。如果你问我,我的偏见就是选择Ruby,因为我喜欢它。但是,如果你想要一个公正的意见,我们将不得不讨论更多的方面,并检查你想用语言/框架等做什么。

答案 4 :(得分:1)

我建议你尝试两种语言,然后决定你认为哪种语言最好。

答案 5 :(得分:0)

Ruby已经是一种流行的语言:)

我不同意你的观点“我们应该总是考虑性能”和“ruby比java更好”。在某些项目中,代码可读性可能比性能更重要。考虑优化的C ++代码,例如,没有人可以读取和维护。并且没有完美的证据证明“Ruby比Java更好”。你从哪里获取这些信息?

答案 6 :(得分:0)

Ruby如何比Java更好?

不是,而且Java并不比Ruby好。两者都有其优点和缺点,这取决于你的项目;什么是 工作的最佳工具。

答案 7 :(得分:0)

取决于您需要做什么。

我们希望我们的代码可以运行数十年。坚持使用纯Java意味着我们非常肯定这些技术将保持“时尚”并且未来的同事可以维护代码。追求当时的语言,最终意味着你将使用已经过时的语言编写程序,因此更难以维护。

“纯java”基本上意味着我们将继续使用标准的Java Runtime和Sun规范的实现(如JavaServer Faces)。它并不像听起来那么无聊:)