2011-10-13 62 views
36

Scala语言与Ruby相比有哪些优点和局限性,特别是来自Web应用程序开发人员的观点?强烈欢迎比较图表和证明链接。Ruby vs Scala - 每个人的优点和缺点

PS这不是一个神圣的战争问题( - :

+1

@Downvoter - 关心评论? –

+5

苹果与橘子相比有什么好处和限制? – Raphael

+59

@Raphael橙子含有更多的维生素C,但苹果含有更多的铁。如果你有坏血病,橘子对你更有用。 –

回答

52

我一直与Ruby和Rails了2年多,我只是大约一个月到学习Scala和电梯,所以我的看法是大概是有偏见的,但是在这里它是

Ruby让你感觉很神奇我发现的每一件关于这门语言的新东西都让我像一个小女生一样傻笑使用宝石非常简单Bundler and Gemfiles它可能是最好的图书馆管理系统我碰到过。

有一堆宝石的一切,从API的包装ppers,复杂authentication/authorization

Ruby还有令人惊叹的社区,这将使学习语言变得非常简单。以RailsCasts by Ryan Bates为例。如果你看他们,你将学习如何使用Ruby和Rails进行Web开发。

对我来说,Ruby可能是我在整个编程生涯中发现的最好的东西,因为社区的工作方式让我改变了编程的整个方法。

另一方面,我没有看到这个在斯卡拉世界。我不想提出一场火焰战,但这只是我开始学习这门语言后的印象。在Ruby社区中,所有事情都非常有趣,让我想要学习越来越多。但是对于Scala,我倾向于遇到很多障碍,没有那么多的文档和教程,这将帮助我克服它们。

有很多书专门针对Ruby的非常具体的topis,它是scripting,deployment,testing,和其他一些东西(是的语用程序员规则)。最好的情况是,整个社区感觉就像一个家庭,这与Java世界不一样,在Java世界里,一切都是分布式的,没有人与彼此谈话,至少这是我的印象。

因此,至少对我而言,这是如何轻松愉快地进入语言世界并开始做某件事情,而Ruby绝对是这里的赢家,至少对我而言是这样。

在性能方面,Scala速度更快,毫无疑问。这是我进入Scala的原因之一,因为它具有非常好的并发模型,并允许您执行Ruby无法做到的事情。但对于大多数Web应用程序,您不需要这样做。

Ruby很慢,这是唯一的缺点。它变得越来越快,98%的案例你都不会认为它是一个问题。但斯卡拉速度更快。

Ruby社区也包含测试和美丽的代码,这自然会导致更好的应用程序。

+3

关于稳定性,性能等等是什么? –

+1

稳定性通常更关注您如何编写应用程序,请阅读已编辑的性能评论答案。 –

+0

谢谢。据我所知,Scala以牺牲社区支持为代价来提供性能和并发优势。 –