基本信息
Scala官方中文参考文档: Scala Documentation
Scala是什么: Scala是一门现代的多范式语言,志在以简洁、优雅及类型安全的方式来表达常用的编程模型。它平滑地集成了面向对象和函数式语言的特性。
Scala 特点
Scala 是面向对象的:鉴于一切值都是对象,可以说Scala是一门纯面向对象的语言。对象的类型和行为是由类和特质来描述的。类可以由子类化和一种灵活的、基于mixin的组合机制(它可作为多重继承的简单替代方案)来扩展。
Scala是函数式的:鉴于一切函数都是值,又可以说Scala是一门函数式语言。Scala为定义匿名函数提供了轻量级的语法,支持高阶函数,允许函数嵌套及柯里化。Scala的样例类和内置支持的模式匹配代数模型在许多函数式编程语言中都被使用。对于那些并非类的成员函数,单例对象提供了便捷的方式去组织它们。
此外,通过对提取器的一般扩展,Scala的模式匹配概念使用了right-ignoring序列模式,自然地延伸到XML数据的处理。其中,for表达式对于构建查询很有用。这些特性使得Scala成为开发web服务等程序的理想选择。
Scala 是静态的:Scala配备了一个拥有强大表达能力的类型系统,它可以静态地强制以安全、一致的方式使用抽象。典型来说,这个类型系统支持:
Scala 是可扩展的:在实践中,特定领域应用的发展往往需要特定领域的语言扩展。Scala提供了一种语言机制的独特组合方式,使得可以方便地以库的形式添加新的语言结构。
很多场景下,这些扩展可以不通过类似宏(macros)的元编程工具完成。例如:
Scala 的互操作性:Scala设计的目标是与流行的Java运行环境(JRE)进行良好的互操作,特别是与主流的面向对象编程语言——Java的互操作尽可能的平滑。Java的最新特性如函数接口(SAMs)、lambda表达式、注解及泛型类 在Scala中都有类似的实现。
另外有些Java中并没有的特性,如缺省参数值和带名字的参数等,也是尽可能地向Java靠拢。Scala拥有类似Java的编译模型(独立编译、动态类加载),且允许使用已有的成千上万的高质量类库。
Highlight:
- Scala是一门纯面向对象语言,可以实现多重继承。
- Scala又是一门函数式语言,提供匿名函数的轻量级的语法,支持高阶函数,允许函数和嵌套以及柯里化。还提供了提供了模式匹配代数模型。
- 它可以静态地强制以安全,一致的方式使用抽象,提供了类型推断。
- 提供隐式类,和字符串插值
- Scala运行于JVM之上,与JRE可以进行良好的互操作
环境配置
Scala安装:2.11.8
- Java8
- download scala
- unzip scala
- [option] ~/.bash_profile
- ./scala
网友评论