Scala之旅(1)——Scala简介

Scala 的诞生

    Scala 始于 2001 年,由洛桑联邦理工学院(EPFL)的编程方法实验室研发。目前最新版本是 2.12.4。

为什么要学Scala?

    为什么要学习scala? 与我而言,因为我要进行Spark大数据开发。Spark源码是基于Scala语言开发的,所以如果要进行Spark相关工作开发,强烈建议学习Scala,并采用Scala进行开发。

    Scala被誉为大数据领域的黄金语言,Spark,kafka的源码都是采用Scala语言开发的。如果我们从事Spark大数据开发,我们必须掌握Scala语言。虽然Spark也支持Java接口开发,但是当我们在程序调试或者遇到异常的时候,我们往往要阅读分析Scala开发的Spark源码,所以如果想从事Spark相关开发,Scala语言是必备的。且强烈不建议采用Java语言做Spark开发。

    Scala 是一门类 Java 的编程语言,它结合了面向对象编程和函数式编程。Scala 优于 Java,能够替代 Java,并且能够做得比 Java 更好的只有 Scala。

    Scala是一门多范式(multi-paradigm)的编程语言,scala设计的初衷就是要集成面向对象编程和函数式编程的各种特性。Scala运行在Java虚拟机上,并兼容现有的Java程序,可以和Java代码相互调用。Scala源代码被编译成Java字节码,所以它可以运行在JVM之上,并可以调用现有的Java类库。

    总结一下:

    从表达能力来说,scala中:函数是一等公民,scala具有强大的闭包功能;

    从简洁性来说,scala中:强大的类型推断功能,支持函数创建的文法,没有标点,代码异常简洁;

    从Java的互溶性来说,scala完全可以重用Java类库、工具包,并且并没有性能降低的问题(性能惩罚)。

    

Scala的特征

  • Scala 是纯面向对象的,每个值都是一个对象。
  • Scala 可以和两种主流面向对象编程语言Java 和 C#实现无缝互操作。
  • Scala 是一门函数式变成语言,每个函数都是一个值,原生支持嵌套函数定义和高阶函数。
  • Scala 支持一种通用形式的模式匹配,模式匹配用来操作代数式类型,在很多函数式语言中都有实现。


猜你喜欢

转载自blog.csdn.net/stefan_xiepj/article/details/79585198