1.什么是Scala
Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。
2.为什么要学Scala
- 优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。
- 速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。
- 能融合到Hadoop生态圈:Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。
- 目前java的开发者们在不断对java进行优化,比如在java8提出了lambda表示式,具有scala中函数式编程的特点。也就是说从某种意义上来讲,java的维护者们一定程度了上认同了函数式编程的优越性。
3 Scala和java的区别
Scala集面向对象和面向过程于一身,包含有2者的优点。
Java代码冗长
Scala编写者认为,多写一行代码都是浪费
Java单例类需要static、private构造方法
Scala object类就是单例类
Java多线程编程复杂,思想是进行共享资源的竞争
Scala 多线程编程极其简单,基于发信的思想
……..
4.scala能做什么
Java能做的scala都能做!后台,web后端等。在大数据方面,scala也占有一席之地,很多著名开源框架都用scala编写或者提供scala的编程接口