学习scala的必要性
Spark是新一代内存级大数据计算框架,是大数据的重要内容,是使用Scala编写的,使用scala进行spark编程,更加方便
除此之外还有 kafka 也是由scala开发的
官网
作者
马丁·奥德斯基
发明了两种语言:Pizza 和 Scala,极大地推动了Java编程语言的发展。
JDK5.0 的泛型、增强 for 循环、自动类型转换等,都是从 Pizza 引入的新特性。
JDK8.0 的类型推断、Lambda表达式就是从Scala引入的特性。
scala特点
面向对象编程
Scala 语言是一个完全面向对象编程语言。万物皆对象
对象的本质:对数据和行为的一个封装
函数式编程
Scala 语言是一个完全函数式编程语言。万物皆函数。
函数的本质:函数可以当做一个值进行传递
正因为如此,所以在scala中,很多语句都有返回值,if语句、for循环语句
还提供了很多功能,其目的就是为了写起来更像函数
提示: scala很多奇怪的语法,主要是为了支持 函数式编程
简洁高效
Scala单作为一门语言来看,非常的简洁高效(有些时候简洁过头了,阅读代码有些费劲)
和 Java 关系
Scala源代码(.scala文件)会被编译成 Java字节码(.class),然后运行于JVM之上,并可以调用Java类库,实现两种语言的无缝对接。
总结
在 Scala 中,函数式编程 和面向对象编程完美融合在一起了