我在Ruby和Rails上工作了两年多,学习Scala和Lift才一个月,所以我的观点可能有偏见,但在这里.
Ruby让你感觉很棒.我对这门语言的每一个新发现都让我像个小女生一样咯咯地笑.使用gems非常简单,使用Bundler and Gemfiles可能是我遇到的最好的图书馆管理系统.
从API包装到复杂的authentication/authorization,各种各样的东西都有很多珍宝.
Ruby还有一个很棒的社区,可以让学习这门语言变得非常简单.以RailsCasts by Ryan Bates为例.如果你看着他们,you will learn how to do web development with Ruby and Rails.
对我来说,Ruby可能是我整个编程生涯中发现的最好的东西,因为社区的工作方式让我改变了我的整个编程方法.
另一方面,我在Scala的世界里看不到这一点.我不想挑起一场激烈的战争,但这只是我刚开始学习语言后的印象.在Ruby社区,每件事都让我觉得很有吸引力,让我想学习更多.但使用Scala时,我往往会遇到很多障碍,而不是帮助我克服这些障碍的文档和教程.
有很多书专门讨论Ruby上非常具体的主题,比如scripting、deployment、testing,以及其他一些东西(是的,实用主义程序员的规则).最棒的是,整个社区感觉像一个家庭,这与Java世界不同,Java世界里所有东西都是分布式的,没有人相互交谈,至少这是我的印象.
所以,至少对我来说,这归结于进入语言世界并开始做一些事情是多么容易和有吸引力,而Ruby绝对是这里的赢家,至少对我来说是这样.
在性能方面,Scala无疑更快.这就是我进入Scala的原因之一,因为它有非常好的并发模型,允许你做Ruby做不到的事情.但对于大多数web应用程序,您不需要这样做.
Ruby很慢,这是唯一的缺点.它变得越来越快,98%的情况下,你不会认为这是一个问题.但Scala的速度更快.
Ruby社区还支持测试和漂亮的代码,这自然会带来更好的apply.