您是否正在使用 Scala 开发企业级应用程序?
编辑:同意,企业这个词没有很好的定义。通过问这个问题,我的意思是问你是否将 Scala 用于真正的项目,而这些项目不仅仅用于游戏。将 Scala 用于个人项目,而不仅仅是它的创建者使用它属于“实际项目”类别。
您是否正在使用 Scala 开发企业级应用程序?
编辑:同意,企业这个词没有很好的定义。通过问这个问题,我的意思是问你是否将 Scala 用于真正的项目,而这些项目不仅仅用于游戏。将 Scala 用于个人项目,而不仅仅是它的创建者使用它属于“实际项目”类别。
问题中使用的“企业”一词显然缺乏要求。一个人的“企业”应用程序,不是另一个人的。SAP 正在使用 Scala/Lift,“企业”是否足够?
在一天结束时,您可以访问 Java 平台必须提供的所有“企业”内容。
对不起,有点混蛋,但这类问题很糟糕,没有明确的答案。更重要的是,有人可能编写了许多您可能认为是“企业”的应用程序,但他们没有,因此永远不要这样说。
编辑
此外,推特喜欢 Scala:http ://www.slideshare.net/al3x/twitter-3s-scala 以及涵盖他们经历的采访:http ://www.artima.com/scalazine/articles/twitter_on_scala.html
Scala 用于实际项目?是的,一点没错。
首先,因为所有的 Java 仍然可用,应用程序可以使用我们现有的公共库。这些库是在过去 10 年中用 Java 构建的,它们对于访问公司内的其他系统非常重要。
其次,企业应用最关键的是适应性。过于僵化是大多数企业应用程序衰败并最终消亡的原因。有两个问题会导致这种僵化,而 Scala 有助于避免这两个问题。一个问题只是代码量太大。Java 比 C 或 C++ 工作得更好,但它仍然需要比 Scala 更多的代码行来实现应用程序。
对于 Java,解决代码大小问题需要更高程度的结构:框架、库、可定制工厂等。这就是我们部署 Java EE 应用程序(通常基于 Spring)的原因,这些应用程序的“lib”目录中有 20 到 50 个 JAR 文件。该结构本身对于完成应用程序是必要的,但它可能会在概念复杂性方面产生自己的问题。
Scala 不能免于概念复杂性的过载,但 Scala 中的通用编程风格倾向于更小、更具体的程序,而不是用于构建 DSL 的框架的库。
当然,如果您确实需要用于构建 DSL 的框架库,那么这就是能够回调 Java 的地方。
这可能是您问题的答案(或不是),但我刚刚了解到 Twitter 正在使用 Scala 进行所有后端处理(RoR 保留在界面上)。
这是在 Twitter 上的 Bay Area Scala Enthusiast 会议上的一张漂亮的幻灯片,其中概述了他们的语言风格指南。到目前为止,Twitter 正在使用 Scala 开发一些重要的后端服务,这一点已经很成熟了。
Sony Imageworks正在将 Scala 用于他们的几个中间层应用程序,并开源了他们用 Scala 编写的数据库迁移包。
我们正在使用 scala 进行金融中的大型刻度数据清理、计算和分发操作。该应用程序非常健壮且可扩展。除了一些 c++ 部分,它完全是用 scala 编写的。
原因:
非常快的开发时间
由于没有样板,因此易于推理实际问题
更快的问题解决,因为只是“更少的代码”
功能范式的更大灵活性
上述所有改进都没有真正的性能成本
高达 2.8 的工具很不稳定(尽管 emacs/ant 方法即使在那时也很可靠)
now with eclipse plugin improvements the environment is sufficiently robust.
LinkedIn 正在使用一些 Scala
我们正在使用 Scala 和 java 进行金融衍生品定价项目。但是,我们并不是 LIFT 的真正粉丝 :)
最好的祝福
它可能有点旧,但在 Scala 网站http://www.scala-lang.org/node/1658上有一个“企业中的 Scala”列表
我个人更喜欢使用 Scala 以比“企业级”更高的质量水平进行开发;-)
Aside from legacy Java code (that is being ported to Scala bit by bit), we are 100% using Scala at Wordnik for all of our backend code. Database layer through a REST API on some very large scale projects that I would characterize as "Enterprise". We are not, however, an Enterprise company and would probably take offense if anyone suggested we were ;) Cheers!