开始

Table of Contents

Scala(Scalable Language,可扩展语言),作者 Martin Odersky,javac 设计者,也设计了 Java 泛型。

1 几个特性:

  • 面向对象,每个值都是一个对象,每个操作符都是一个方法调用。如1+1,”+“是 Int 类的一个方法;
  • 函数式;
  • 静态类型;
  • 与 Java 兼容。

Scala 根源:

  • 语法来自 Java 和 C#;
  • 并发模型参考了 Erlang 的 Actor 模型;
  • 对象模型参考了 Smalltalk;
  • 函数式参考了 ML 家族。

2 和 Clojure 对比

  • Scala 是多范式,Clojure 是函数式;
  • 比 Clojure 稍快;
  • 异常信息比 Clojure 更友好。

3 开发环境

最新版本前往官方网站下载:http://www.scala-lang.org/

  • Emacs,scala-mode2、sbt-mode 和 ensime 插件;
  • IDE:IntelliJ IDEA;
  • sbt,交互式编译、打包工具。

4 Hello World

在终端运行“scala“命令启动 Scala REPL,尝试输入:

scala> println("Hello World")
Hello World
scala> 1 + 1
res1: Int = 2

scala> res1 // REPL 里,res1 保存了上条语句的执行结果
res2: Int = 2