什么是Scala
1)Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。
2)Spark --新一代内存级大数据计算框架,是大数据的重要内容(底层就是Scala编写的)
3 )联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计Scala
4) Spark 的兴起,带动了Scala语言的发展
学习Scala 的原因
1) Spark就是Scala编写的 因此为了更好的学习Spark,需要掌握Scala这门语言
2) 优雅:
这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。
3)速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。
4) 能融合到Hadoop生态圈:
Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。
Scala 和 Java 和 Jvm‘ 的 关系分析图
**
Scala语言特点
**
Scala是一门以 java 虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型变成语言
1)Scala 是一门多范式的编程语言,Scala支持面向对象和函数式编程
2) Scala 源代码会被编译成 Java 字节码( . class文件 ),然后运行在JVM上,并可以调用现有的 java 类库,实现两种语言的 无缝对接
3)Scala 单作为一门语言来看,非常的简洁高效(三元运算 ,++ ,–)
4) Scala 在设计的时候,马丁 .奥德斯基 是参考了Java 的设计思想 ,可以说Scala是源于Java ,同时 也加入了自己的思想 ,将函数式编程语言的特点融入到Java中 ,因此对于学习过JAVA的同学来说,只要在学习Scala的过程中,搞清楚Scala和java 的相同点和不同点,就可以快速掌握Scala语言,
5) 快速有效掌握Scala 的三点建议:
(1)学习Scala的特有的 语法
(2) 区别 java 和Scala
(3) 如何规范使用Scala