什么是Scala'杀手级应用'?

时间:2010-10-31 17:12:26

标签: scala

我是一名Java开发人员,正在考虑投入时间学习Scala以开发未来的应用程序。我已经阅读了很多关于Scala优于Java的优点,但它们在情感上真的把它卖给我时有点抽象。

有人会建议一个应用程序的示例,它非常适合使用Scala开发,而不是Java吗?

5 个答案:

答案 0 :(得分:8)

我认为,scala-lang.org上Scala in the Enterprise列出的公司是社区可以引以为傲的例子。他们使用Scala构建高并发(和重负载)分布式scalabale应用程序,具有富有表现力的类型安全轻量级API,具有很强的代码重用能力,创建内部DSL,开发效率以及更多原因。

只是给出一些名字:

答案 1 :(得分:3)

在我看来,任何使用Erlang的Actors习语的大规模并行化都是一个“杀手”。

答案 2 :(得分:3)

答案是“所有人”。 Scala严格来说是Java的超集,所以你可以获得强大的功能和时间节省,除了Java的限制之外你什么都不会丢失。

答案 3 :(得分:2)

答案 4 :(得分:0)

这是这样的一个愚蠢的问题。 Scala是一种图灵完整的语言:它可以与任何其他TC语言相媲美。

它可以访问所有JVM库(包括用Java编写的库),因此在访问数据库,媒体API,网络等等等方面具有支持 。作为一种JVM语言,它具有一次写入运行(WORA)的优势。

但当然Java也有这些!那么斯卡拉的实力是什么?嗯,清晰度,表现力,可维护性,可扩展性等等等等

这会是什么应用程序指向你作为杀手?那么,所有这些当然!有一些纤维!

def fibs = (0, 1).repeat[Stream].map { case (a, b) => b -> (a+b) } map(_._1)

或:

lazy val fibs: Stream[Int] = 0 ::# 
  ( 1 ::# 
    fib.zip(fibs.tail).map { case (a,b) => a + b)))

PS。它唯一不太好的是非常接近金属,低延迟的编程。它也正在进入这个领域!