什么是scala?

什么是scala

Scala 是 Scalable Language 的简写,是一门多范式的编程语言
什么是多范式,可以理解为编程方法的意思,学过java的应该都知道Java是面向对象编程的,而scala不仅面向对象编程,而且也是一种函数式语言。python就是一种函数式语言。

其中编程语言分为:

1、 面向对象和函数式编程

2、 静态编程语言和动态编程语言

3、 编译型和解释型

4、 汇编语言,脚本语言,机器语言,高级语言

5、 强类型语言和弱类型语言 
 
Python 是动态类型语言,是强类型语言。

JavaScript 是动态类型语言,是弱类型语言。

Java 是静态类型语言,是强类型语言。 

以下是用 Scala 编写的典型 Hello World 程序:
object HelloWorld {  
 def main(args: Array\[String\]): Unit \= {  
 println("Hello, world!")  
 }  
}

可以看到,使用了def 来定义函数,而println("Hello, world!")又和java如出一辙。
可以这么理解,Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。
Scala 中的方法跟 Java 的类似,方法是组成类的一部分。

Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。

Scala 中使用 val 语句可以定义函数,def 语句定义方法。

class Test{
  def m(x: Int) = x + 3
  val f = (x: Int) => x + 3
}

注意:有些翻译上函数(function)与方法(method)是没有区别的。

为什么要学 Scala 

第一,基于编程语言自身: 
 
1、 优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API 是否 优雅直接影响用户体验。 
 
2、 速度快:Scala 语言表达能力强,一行代码抵得上 Java 多行,开发速度快;Scala 是静态 编译的,所以和 JRuby,Groovy 比起来速度会快很多。

3、 能融合到 Hadoop 生态圈:Hadoop 现在是大数据事实标准,Spark 的出现并不是要取代 Hadoop,而是要完善 Hadoop 生态。JVM 语言大部分可能会想到 Java,但 Java 做出来的 API 太丑,或者想实现一个优雅的 API 太费劲。

scala主要是抛砖引玉出Spark,我们重点总结Spark。
scala学习[scala教程](https://www.runoob.com/scala/scala-tutorial.html)

你可能感兴趣的:(scala)