1 scala概述
1.1 什么时scala
Scala是一种非常有趣又非常实用的语言,它以JVM为目标环境,将面向对象和函数式编程有机的结合在一起,为开发人员带来独特的编程体验。
它既有动态语言那样的灵活简洁,同时又保留了静态类型检查带来的安全保障和执行效率,加上其强大的抽象能力,既能处理脚本化的临时任务,又能处理高并发场景下的分布式互联网大数据应用,可谓能缩能伸。
Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。
1.2 为什么要学习scala
1)这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。实现同样的功能,scala会比java更简洁。
2)Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多;函数式比python更好的性能。
3)Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。
4)开源框架spark和kafka源码由scala开发,学习scala可以更好理解spark或kafka源码,而且scala开发spark应用比java更快速
5)目前国内外已经有很多公司和个人采用scala来构建起平台和应用。作为JVM上第一个获得广泛成功的非java语言,scala正以它独特的魅力吸引着越来越多开发人员的关注。