代码之家  ›  专栏  ›  技术社区  ›  sirmak

在新的Java项目中使用还是不使用Scala?[闭门]

  •  11
  • sirmak  · 技术社区  · 15 年前

    我对Twitter印象深刻,并且正在研究将Scala用于一个带有Hibernate和Wicket的新的大规模web项目。你觉得Scala怎么样?我应该用它而不是Java吗?

    编辑: 而且,你认为谷歌的Noop、Fan或Scala能在不久的将来取代Java的领导地位吗?你认为哪一个有机会?

    6 回复  |  直到 12 年前
        1
  •  13
  •   Brian Agnew    12 年前

    不要忘记,它可以与Java一起使用。i、 您可以在Scala脚本环境中使用编译的.class和.jar。

    因此,您可能希望用Java对解决方案的较低级别进行编码,然后将其封装在Scala中,以提供更灵活、更敏捷的解决方案(在更高级别上重写业务逻辑)。

    学习

        2
  •  6
  •   sanity    15 年前

    以下是Scala相对于Java IMHO的优缺点:

    • 闭包
    • 更强大的类型系统,包括mixin
    • 伟大的回复,2.8甚至会有标签完成

    总之:与Java相比,您可以用更少的代码获得更多的功能

        3
  •  5
  •   oxbow_lakes    15 年前

    别忘了它是Twitter中相对较小的一部分,尤其是消息队列,它们是用Scala编写的。据我所知,前端仍然是RubyonRails。

    也就是说,我在不到一年前迁移到scala:我没有回头看。此外:

    • scala是为在JVM上运行而构建的这一事实意味着Java开发人员在该语言上取得了领先地位(如果您感兴趣,我可以详细说明为什么会这样)。
        4
  •  3
  •   ewg    15 年前

    Scala的一个特殊问题是 可伸缩语言 ,它具有不同级别的功能,对普通开发人员来说具有不同程度的可访问性。使用它作为JVM的脚本语言是一回事,使用函数式编程开发特定于领域的语言是另一回事。

        5
  •  3
  •   Tristan Juricek    15 年前

    Scala的一个优点是,您可以在同一个项目中与Java一起构建它。二者都 Maven (参见luigi prog的评论)以及 simple build tool 拥有相当简单的钩子,可以一次性构建所有内容。

    Daniel Spiewak had a few nice entries on the gotchas of Java-Scala interop .

    在过去的一年里,我一直在工作场所使用Scala,我想说,要想变得相当熟练,大概需要3个月的学习时间。这是一个相当小的团队 典型的 爪哇人。在惯例和标准方面还有很多不稳定因素,所以希望每几个月对任何项目进行一次修订。

    我认为现在还不能搜索“Scala程序员”。但是你 可以

    如果我猜,Scala和Clojure可能是“取代”Java的领跑者。我预计最早要到2012年才会发生重大变化。Scala可能在势头上领先——现在有几本多语言的书。

        6
  •  3
  •   Nosredna    15 年前

    如果您正在考虑在单个项目环境中使用Java和Scala,我建议您使用 Maven 作为一个项目依赖系统。以下是我用来生成scala项目的代码:

    mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org/
    

    这里有一些 usage information 用于将maven与Scala一起使用。如果使用maven作为编译器,则可以在同一个包中同时包含java和Scala源文件,而无需额外配置。它只是工作。

    Here is a talk 由LinkedIn主持。它是一个包含Scala、Twitter和Scala lift web框架(我使用的)的面板。如果您仍在决定是否使用Scala id,建议观看。