文章目录
- [1. Scala简介](#1. Scala简介)
- [2. 函数式编程简介](#2. 函数式编程简介)
- [3. Scala VS Java](#3. Scala VS Java)
- [4. 安装与部署](#4. 安装与部署)
1. Scala简介
Scala是由于Spark的流行而兴起的。Scala是高级语言,Scala底层使用的是Java,可以看做是对Java的进一步封装,更加简洁,代码量是Java的一半。 因此,Scala是运行在JVM上的,可以跨平台,可以直接在Scala中编写Java代码。
现在大数据生态的语言:
2. 函数式编程简介
- Scala是面向函数式编程,无论做什么要明确是什么函数。具体而言,就是 函数可以作为参数传递给另一个函数,也可以把函数作为返回值返回出来。
- 函数式编程没有副作用,即变量一经赋值,就不变。
- 引用透明。指函数的运行不依赖于外部变量或状态,只依赖于输入参数,任何时候只要输入的参数相同,那么引用函数得到的返回值永远相同。Java中查看一个函数功能,往往要查引用的类,类中还有引用类...,需要一直点进去,引用不够透明。
3. Scala VS Java
- Java是面向对象的,Scala是面向函数式编程的,这是两者最大的区别。 Scala的函数式编程是借鉴的Python优点,为什么不使用Python开发
- Java是面向对象的用于解决通用问题,Scala是专注于解决数据统一计算。抽象来说,无论解什么数学题,首先得学好加减乘除,而解决线性代数就得学好矩阵相关公式,学高等数学就得学好微积分相关公式,但矩阵与微积分本质上还是由加减乘除组合而来的,只不过是矩阵相关方式和微积分相关方式是已解决的封装好的公式,直接使用就行。具体而言,就是Scala比Java多一些数据统计的方法,比如 group by等等。
- Scala也拥有Java高并发、可移植、运行快的特点。一次编译成class文件,多次运行。