Scala语言概况

Scala语言起源

马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者。

主流JVM的Javac编译器就是马丁·奥德斯基编写出来的,JDK5.0、JDK8.0的编译器就是他写的。

长时间的编程之后,他希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。

当接触到Java语言后,对Java这门语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到Java中,由此发明了Scala。

Scala语言特点

Scala是一门以 JVM 为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。

Scala源代码会被编译成Java字节码,然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝互操作的。

  • 面向对象

    Scala是一种面向对象的语言。

    Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。

  • 函数式编程

    Scala也是一种函数式语言,其函数也能当成值来使用。

    Scala中支持高阶函数,允许嵌套多层函数,并支持柯里化。

    Scala提供了模式匹配,可以匹配各种情况,比如变量的类型、集合的元素、有值或无值。

  • 静态类型

    Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。

  • 并发性

    Scala使用Actor作为其并发模型,Actor是类似线程的实体。

    Actor可以复用线程,因此可以在程序中使用数百万个Actor,而线程只能创建数千个。

为什么要学Scala

优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。

简洁:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快。

融合大数据生态圈:Hadoop现在是大数据事实标准,(Kafka Spark源码都是用Scala编写的,Spark Flink都支持使用Scala进行开发)Spark并不是要取代Hadoop,而是要完善Hadoop生态。


环境准备

Scala官网:https://www.scala-lang.org/

  • 1、下载Scala

  • 2、Windows下安装Scala

  • 3、配置IDEA开发环境

  • 4、REPL

Windows下环境配置

访问Scala官网下载Scala 2.11.8安装包,下载地址:https://www.scala-lang.org/download/2.11.8.html

下载scala-2.11.8.msi后,点击下一步就可以了(自动配置上环境变量)。

也可以下载 scala-2.11.8.zip,解压后配置上环境变量就可以了。

备注:安装Scala之前,Windows系统需要安装JDK。

IDEA环境配置

IDEA是 Java 的集成开发环境,要支持Scala开发,需要安装Scala插件;


新建基于idea的Scala项目



新建Scala对象,执行main方法

1
2
3
4
5
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello World")
}
}


Scala的REPL

在命令行输入Scala可启动Scala REPL。也可通过点击scala.bat来启动。



REPL 是一个交互式解析器环境,R(read)、E(evaluate) 、P(print)、L(loop)

输入值,交互式解析器会读取输入内容并对它求值,再打印结果,并重复此过程。