一、scala概述
Scala 官网:https://www.scala-lang.org/
ps:po一张官网首页截图(为什么来这么一张呢?因为我觉得UI还挺美观的哈哈,请原谅我的直男审美)
1、什么是 Scala
Scala 是一种多范式的编程语言,其设计的初衷是要集成面向 对象编程和函数式编程的各种特性。Scala 运行于 Java 平台 (Java虚拟机),并兼容现有的 Java 程序。
Scala(Scalable Language 的简称)语言是一种能够运行于 JVM 和.Net平台之上的通用编程语言,既可用于大规模应用程序开 发,也可用于脚本编程,它由由 Martin Odersky 于 2001 开发, 2004年开始程序运行在 JVM 与.Net 平台之上,由于其简洁、 优雅、类型安全的编程模式而受到关注。
这里补充点知识,那就是编程语言的区分:
1、 面向对象和函数式编程
2、 静态编程语言和动态编程语言
3、 编译型和解释型
4、 汇编语言,脚本语言,机器语言,高级语言
5、强类型语言和弱类型语言
?:
Python 是动态类型语言,是强类型语言。
JavaScript 是动态类型语言,是弱类型语言。
Java 是静态类型语言,是强类型语言。
2、scala的魅力
2.1语言本身
优雅:
这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API 是否优雅直接影响用户体验。
速度快:
Scala 语言表达能力强,一行代码抵得上 Java 多行,开发速度快;Scala 是静态 编译的,所以和 JRuby,Groovy比起来速度会快很多。
能支持Hadoop生态圈:
Hadoop 现在是大数据事实标准,Spark 的出现并不是要取代 Hadoop,而是要完善 Hadoop 生态。JVM语言大部分可能会想到 Java,但 Java 做出来的 API 太丑,或者想实现一个优雅的 API 太费劲。
2.2活跃度较高
作为流行的开源大数据内存计算引擎 Spark 的源码编程语言–Spark 有着良好的性能优势
Scala将成为未来大数据处理的主流语言 “If I were to pick a language to use today other than Java, it would be Scala.” – James Gosling (这位大佬的话应该是没有错的吧?)
最新TIOBE 编程语言排行榜–Scala 进入前 20
3、scala的特点(参考菜鸟教程)
面向对象特性
Scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。
类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。
函数式编程
Scala也是一种函数式语言,其函数也能当成值来使用。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。Scala的case
class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。
更进一步,程序员可以利用Scala的模式匹配,编写类似正则表达式的代码处理XML数据。
静态类型
Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。
扩展性
Scala的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定于该领域的语言扩展。Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构:
任何方法可用作前缀或后缀操作符;可以根据预期类型自动构造闭包。
并发性
Scala使用Actor作为其并发模型,Actor是类似线程的实体,通过邮箱发收消息。Actor可以复用线程,因此可以在程序中可以使用数百万个Actor,而线程只能创建数千个。在2.10之后的版本中,使用Akka作为其默认Actor实现。
二、scala编译器的安装
前提条件:
已安装JDK(因为Scala是运行在JVM平台上的,所以安装Scala之前要安装 JDK)
1、windows平台安装
安装包下载地址就是官网啦https://www.scala-lang.org/download/all.html,选择需要的版本,这里我选择的是 scala-2.11.8版本!
下载 scala-2.11.8.msi 后点击下一步就可以了,可以不用手动配置环境变量:因为会自动配置好
2、linux平台安装
下载tgz结尾的包然后解压 Scala到指定目录:
tar -zxvf scala-2.11.8.tgz -C /usr/local/scala
配置环境变量,将 scala 加入到 PATH 中:
vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin
export SCALA_HOME=/usr/local/scala/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile
最后查看是否安装成功:
3、macOS平台安装
和linux一样的安装方式