Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸
缩的语言、并集成面向对象编程和函数式编程的各种特性。-------百度百科
Scala即Scalable Language,Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。
①速度快
Scala 语言表达能力强,一行代码抵得上 Java 多行,开发速度快;Scala 是静态编译的,所以和 JRuby , Groovy 比起来速度会快很多。
②优雅
Scala更加简洁,一个方面它尽量避免使用Java中的重复代码,另一方面,丰富的库函数和函数式编程的结合,使得很多操作的实现异常简练。
③赚钱
这么说是有点俗气!但是Groovy创始人James Strachan曾经说过:
将来可能替代Java的就是Scala 。Scala也许在不久的将来会成为主流。
Scala是一种纯面向对象的语言,每个值都是对象即一切皆对象。对象的数据类型
以及行为由类和特质描述。
类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机
制。这两种途径能避免多重继承的种种问题。
Scala 也是一种函数式语言,其函数也能当成值来使用。
Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,
并支持柯里化。Scala 的 case class 及其内置的模式匹配相当于函数式编程语言中
常用的代数类型。程序员可以利用 Scala 的模式匹配,编写类似正则表达式的代码处
理XML数据。
Scala 具备类型系统,通过编译时检查,保证代码的安全性和一致性。
Scala 的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定
于该领域的语言扩展。Scala 提供了许多独特的语言机制,可以以库的形式轻易无缝添
加新的语言结构。
Scala 使用 Actor 作为其并发模型,Actor 是类似线程的实体,通过邮箱发收消息
。Actor 可以复用线程,因此可以在程序中可以使用数百万个 Actor,而线程只能创
建数千个。在 2.10 之后的版本中,使用 Akka 作为其默认 Actor 实现。