Scala简介

Scala是一种非常适合开发大数据应用程序的语言,是使用Apache Spark的首选语言。使用Scala语言来学习Spark,具有以下优点:

  • 首先,开发人员可以通过使用Scala实现显著的生产力提升。
  • 其次,它帮助开发人员编写健壮的代码,减少bug。
  • 第三,Spark是用Scala编写的,因此Scala非常适合开发Spark应用程序。

Spark本身是用Scala编写的,这是一种基于Java虚拟机(JVM)的函数式编程语言。 Scala编译器会生成在JVM上执行的字节码。因此,它可以与任何其他基于JVM的系统无缝集成,比如HDFS,Cassandra,HBase等等。 Scala是首选语言,因为它简洁的编程接口、交互式shell,以及它捕获功能并高效地将它们传递到集群中的节点的能力。 Scala是一个可扩展的(scalable,因此得名),静态类型的,高效的多范式语言,它支持函数式语言和面向对象语言特性。

Scala特性

Scala编程语言的特性,可概括如下:

  • 可扩展
    • 面向对象
    • 函数式编程
  • 兼容JAVA
    • 类库调用
    • 互操作
  • 语法简洁
    • 代码行短
    • 类型推断
    • 抽象控制
  • 静态类型化
    • 可检验
    • 安全重构
  • 支持并发控制
    • 强计算能力
    • 自定义其他控制结构语言特点

Scala画像

业界对比了C++、Python和Scala语言的特性,给出了如下的语言画像:

Scala参考

Scala是一种混合编程语言,支持面向对象编程和函数式编程。它支持函数式编程概念,如不可变数据结构和函数作为一等公民。对于面向对象编程,它支持类、对象和特征等概念。它还支持封装、继承、多态性和其他重要的面向对象概念。

Scala是一种静态类型的语言。Scala应用程序是由Scala编译器编译的。它是一种类型安全的语言,Scala编译器在编译时强制类型安全。这有助于减少应用程序中的错误数量。

Scala是一种基于Java虚拟机(JVM)的语言。Scala编译器将Scala应用程序编译成Java字节码,可以在任何JVM上运行。在字节码级别,Scala应用程序与Java应用程序没有区别。因为Scala是基于JVM的,所以它可以与Java无缝地互操作。更重要的是,Scala应用程序可以使用任何Java库,而不需要任何包装器或粘合代码。

下面是Scala的官网地址、API参考网址:

说明

本课程的目标不是让读者成为Scala的专家,而是帮助读者学习足够的Scala知识,以便使用Scala来理解和编写Spark应用程序。

"Scala是一种强大的语言。强大带来了复杂性"。Scala结合了面向对象和函数式编程范式。 如果没有Java或c++等面向对象编程语言的经验,Scala的语法可能很难掌握。 在学习Scala之前,最好有Java或Python语言经验。


《Spark原理深入与编程实战》