1. Scala 语言的由来
创始人:
马丁·奥德斯基(Martin Odersky)
背景:
马丁·奥德斯基是编译器及编程的狂热爱好者,他希望发明一种语言,能够使编程变得更加高效简洁。当他接触到 Java 语言后,对 Java 语言产生了极大的兴趣,所以他决定将函数式编程融入到 Java 中,由此发明了两种语言(Pizza & Scala)。Pizza 和 Scala 极大地推动了 Java 语言的发展。
jdk 5.0 的泛型,for 循环的增强,自动类型转换等,都是从 Pizza 引入的新特性。
jdk 8.0 的类型推断,Lambda 表达式就是从 Scala 引入的特性。
现在主流的 JVM 的 javac 编辑器就是马丁·奥德斯基编写的。jdk 5.0 和 jdk 8.0 的编译器就是他编写的。
马丁·奥德斯基与 2001 年开始设计 Scala 语言。
2. Scala 读法
不同的人对 Scala 有不同的读法,有:斯嘎拉(我使用)、斯卡拉、斯凯拉。
就像 Linux 一样:里纽克斯(我使用)、里纳克斯等等。
读音不必纠结,能听懂就行。
3. 学习 Scala 的原因
(1)Spark 是新一代内存级大数据计算框架,Spark 就是 Scala 编写的(主流,也有 Java、Python)。所以为了更好地学习 Spark,需要掌握 Scala 语言。
(2)Scala 是Scalable Language 的简写,是一门多范式的语言(范式可理解为编程的方式【面向对象/函数式编程】)
(3)Spark 的发展,带动了 Scala 语言的发展。
4. Scala语言的特点
Scala 是一门以 Java 虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
(1)Scala 是一门多范式的编程语言,支持面向对象和函数式编程。
(2)Scala 源代码(.scala)会被编译成 Java 字节码(.class),然后运行在 JVM 上,并可以调用现有的 Java 类库,实现两种语言的无缝衔接。
(3)Scala 语言非常简洁高效。(Java 中的三元运算、++、–,不支持了)