Ruby语言相比,Scala语言有哪些优点和局限性,尤其是从web应用程序开发人员的Angular 来看?非常欢迎使用对比图表和证明链接.

另外,这不是一个圣战问题

推荐答案

我在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上非常具体的主题,比如scriptingdeploymenttesting,以及其他一些东西(是的,实用主义程序员的规则).最棒的是,整个社区感觉像一个家庭,这与Java世界不同,Java世界里所有东西都是分布式的,没有人相互交谈,至少这是我的印象.

所以,至少对我来说,这归结于进入语言世界并开始做一些事情是多么容易和有吸引力,而Ruby绝对是这里的赢家,至少对我来说是这样.

在性能方面,Scala无疑更快.这就是我进入Scala的原因之一,因为它有非常好的并发模型,允许你做Ruby做不到的事情.但对于大多数web应用程序,您不需要这样做.

Ruby很慢,这是唯一的缺点.它变得越来越快,98%的情况下,你不会认为这是一个问题.但Scala的速度更快.

Ruby社区还支持测试和漂亮的代码,这自然会带来更好的apply.

Ruby相关问答推荐

如何修复 '535-5.7.8 用户名和密码未被接受.在 Devise 邮件确认错误中了解更多信息?

ruby 组合哈希相关键

为什么我的二维 Ruby 数组的多个值会发生变化,尽管只更改了其中一个?

ruby:rubocop 抱怨将 if else 转换为 case 语句

在 Ruby 中生成一个后台进程

ruby:对两个或多个数组的对应成员求和

如何在两个浮点数之间的范围内最好地创建一个随机浮点数

CSV.read 第 x 行的非法引用

Ruby:从字节创建一个字符串

如何将消息附加到 RSpec 判断?

从 Ruby 程序中创建 beep声的最简单方法是什么?

Ruby 的排序方法使用哪种算法?

与 String 相比,在 Ruby 中使用 StringIO 有哪些优势?

从 1 开始循环

使用 `?`(问号)在 Ruby 中获取 ASCII 字符代码失败

Ruby:将字符串转换为日期

to_proc 方法是什么意思?

Ruby - time.now UTC

如何理解 class_eval() 和 instance_eval() 的区别?

如何在 Mac OS Sierra 10.12 上安装 Nokogiri