Scala之旅-简介

Scala之旅-简介

简介

Scala是一门现代多范式编程语言,以一种简洁,优雅,类型安全的方式表达通用编程模式。它将面向对象和函数式语言十分自然地结合到了一起。

Scala是面向对象的

Scala中的每一个值(value)都是一个对象(object),从这个角度来看它是一门纯粹的面向对象的语言。对象的类型和行为是通过类(classes)特征(traits)来表达的。类是通过子类(subclassing)和一种灵活的基于混合的组合(mixin-based composition)机制来扩展的,这可以完全替代多重继承。

Scala是函数式的

Scala中的每一个函数(function)都是一个值(value),从这个角度来看它也是一门函数式语言。Scala提供了一种轻量级语法来定义匿名(anonymous)函数,它支持高阶(higher-order)函数,允许内嵌(nested)函数,还支持柯里化(currying)。Scala的case类以及内置的模式匹配(pattern matching)相当于很多函数式编程语言使用的代数类型(algebraic types)。单实例(Singleton)对象可以很方便地将非类成员函数聚合到一起。

更进一步,通过对提取器(extractor)对象的通用扩展,在右侧忽略序列(right-ignoring sequence)模式的帮助下,Scala模式匹配的概念可以轻易地扩展到对XML数据的处理。从这个角度而言,序列推导式(sequence comprehensions)对于查询的公式化表达很有用。这些特征使得Scala非常适合开发像web服务这种应用。

Scala是静态类型的

Scala具有表达类型系统(expressive type system),该系统以静态方式强制以一种安全并且一致的方式使用抽象化(abstractions)。Scala的类型系统具体支持: