Scala,未来的Java(?)

Gil*_*nor 28 java scala

我试图找出scala的受欢迎程度以及有多少SO用户在工作场所实际使用它?

oxb*_*kes 49

我一直在使用Scala工作一年(财务技术),并且根本不想回到Java!最初考虑迁移时最关心我的事情是:

  • 工具支持(IDE是什么样的?)
  • 互操作与现有的Java库,并建立技术(ant,春天,在内部写的东西)
  • 人才库(我在哪里可以找到优秀的Scala开发人员?)
  • 过渡时间(过了多久,我写 Scala呢?)

我发现IDEA的Scala插件(对于现在的免费v9社区版)非常出色:不如Java的工具支持那么好,但肯定足以满足我们的需求.它具有基本的重构和调试功能以及出色的语法突出显示功能.我对Eclipse的体验非常令人失望:我已经明白Scala 2.8预计会有很大的改进,但我已经看到了最近的Eclipse-nightly,坦率地说,这很糟糕.

与Java的互操作性是一流的 - 我没有任何问题,仍然大量使用Spring和我们的定制(基于蚂蚁)构建系统.对于员工流动率从中到高的大公司来说,开发人员库只是一个考虑因素; 到目前为止,它对我们来说并不是一个问题,并且受访者表示有兴趣使用Scala.

也许最大的问题是过渡时期.我发现这可能是2周时间才能写出任何合理的东西,3个月开始真正"得到它"和6个月 - 1年开始利用Scala的功能和DSL方面.那么,对我来说真正的大收获是什么?

  1. 类型推断和内置的共同和反向变化(代码更具可读性和直观性 - 泛型只是起作用,与Java不同,它可能非常痛苦)
  2. 函数式编程风格和闭包(代码更易读,写得更快)
  3. actor并发库(大大简化了并发编程)

总结如下:

  • Scala有什么好处吗?是的 - 太棒了
  • 它是否适合真正的企业使用?是的 - 现在有很多同行使用它,包括Twitter,索尼和EDF
  • 收益是否值得采用成本?是的,一点没错

  • Twitter 将其消息队列从 Ruby 迁移到 Scala 发生在过去的 18 个月内,我相信。很可能进行 scala 迁移是为了解决您熟悉的问题。我自己不是推特用户! (2认同)
  • 我没有直接了解情况,但Twitter转移到Scala是为了解决失败的鲸鱼问题,根据最近的一些报道,迁移后的Twitter现在比Facebook有更好的正常运行时间. (2认同)

Uri*_*Uri 6

没有人有一个水晶球,有人可以随时提出更好的东西(或者更糟糕的是它背后的强者).

有很多文章,播客等.在这里,我建议你阅读:https://stackoverflow.com/questions/33744/is-scala-the-next-big-thing

就个人而言,我认为斯卡拉很有希望,但可能无法吸引人群.今天Java的许多生产用途都围绕着J2EE,我没有看到这些人进行过渡.对于非Java用户,像Python这样的更成熟的语言可以提供他们所需的所有功能特性,即使代价是不使用JVM.

  • 我从事Java EE开发,我们需要比Java更好的语言.由于缺乏公司/社区支持(你所说的"强者"),我们只是不去Scala或Groovy.保留JVM是必须的,因为我们无法轻松替换Java中开发的所有当前代码.与Scala相比,Python似乎不完整,并且针对操作系统脚本.我尝试过Jython,JRuby,Groovy和Scala,最好的Java集成来自Groovy和Scala.但由于缺乏正式的规范,Groovy看起来不像Scala和Java本身那么专业.所以我希望我们都去Scala. (3认同)