java - Groovy 和 Grails vs Scala,为什么 Twitter 选择 Scala?

标签 java ruby scala grails groovy

<分区>

我有一个非常基本的问题:为什么 Twitter 选择 Scala 而不是 Groovy 来从 Ruby 切换?我认为对于 Rubyist 或 Javaman 来说,使用 Groovy 比使用 Scala 更容易。谢谢。

最佳答案

虽然只有 Twitter 可以回答这个问题,但您实际上是在问错问题。您应该问自己是什么业务或技术问题使 Scala 对 Twitter 有用。

事实上,如果您阅读 about Twitter's integration of code in Scala ,您会发现他们不只是抛弃了 Rails;他们构建系统以支持他们在 Scala 中的部分应用程序,并重构现有代码以与在 Scala 中构建的服务对话。

在某些时候,他们主要的技术关注点不再是网络应用程序本身,而是更多地关注消息传递和通知。 Groovy 和 Grails 不会比 Rails 更好(或者可能更好)地帮助他们解决这个问题。 Scala 和其他函数式语言通过最小化可变状态使高度并发问题的推理变得更容易。它为并发问题提供了一个参与者模型,使将某些类别的应用程序扩展到多个处理器和多个服务器变得更加容易。

从本质上讲,这就是为什么您应该在您的所有工具中拥有多个工具的原因。有些问题并不像存储数据和呈现数据那么简单。使用纯 Ruby 工具可以走得更远,但在处理需要线程或跨多台机器分布的问题时,仍然存在一些实际限制。

鉴于不同的团队成员或动机,他们可能很容易选择 Erlang 甚至 F#。但是,当他们的问题不在前端时,另一个 Web 框架可能会以高得多的成本提供很少的好处。

关于java - Groovy 和 Grails vs Scala,为什么 Twitter 选择 Scala?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5712503/

相关文章:

ruby-on-rails - Express Checkout 订单总计丢失

scala - Maven 的最新 Scala 原型(prototype)

scala - 数组构造器优化——Double的装箱

java - Cloudinary Java直接上传BAD REQUEST错误

java - 使用 Java 的多个 Selenium 参数化 Web 测试

java - JDBC 和 pgbouncer 可以与 createStatement 一起使用吗

ruby - 在 rspec 中定义 `after` 别名的正确方法是什么?

ruby - 在 Ruby 中验证 HTTPS 的自签名 TLS 证书

scala - 将 Seq[Future[X]] 转换为 Enumerator[X]

java - 如何从 Java 中的 Winzip 自解压 (exe) zip 文件中读取?