Scala语言的特点

(1)运行在 JVM 和 JavaScript 之上的语言
Scala运行在JVM上,兼容现有的Java程序,集成面向对象编程和函数式编程的各种特性,轻松实现和丰富的 Java 类库互联互通。Scala 不仅利用了 JVM 的高性能以及最优化性,Java 丰富的工具及类库生态系统也为其所用。不过 Scala 并不是只能运行在 JVM 之上

(2)静态类型
在 Scala 语言中,静态类型(static typing)是构建健壮应用系统的一个工具。Scala 修正了 Java 类型系统中的一些缺陷,此外通过类型推演(type inference)也免除了大量的冗余代码。

(3)混合式编程范式——面向对象编程
Scala 完全支持面向对象编程(OOP)。Scala 引入特征(trait)改进了 Java 的对象模型。trait 能通过使用混合结构(mixin composition)简洁地实现新的类型。在 Scala 中,一切都是对象,即使是数值类型。

(4)混合式编程范式——函数式编程
Scala 完全支持函数式编程(FP),函数式编程已经被视为解决并发、大数据以及代码正确性问题的最佳工具。使用不可变值、被视为一等公民的函数、无副作用的函数、高阶函数以及函数集合,有助于编写出简洁、强大而又正确的代码。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。Scala的case class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。

(5)复杂的类型系统
Scala 对 Java 类型系统进行了扩展,提供了更灵活的泛型以及一些有助于提高代码正确性的改进。通过使用类型推演,Scala 编写的代码能够和动态类型语言编写的代码一样精简。

(6)简洁、优雅、灵活的语法
使用 Scala 之后,Java 中冗长的表达式不见了,取而代之的是简洁的 Scala 方言。Scala提供了一些工具,这些工具可用于构建领域特定语言(DSL),以及对用户友好的 API接口。

比如:【三元运算符, ++ --】

(7)可扩展的架构
使用 Scala,你能编写出简短的解释性脚本,并将其粘合成大型的分布式应用。
以下四种语言机制有助于提升系统的扩展性:

  1. 使用 trait 实现的混合结构
  2. 抽象类型成员和泛型
  3. 嵌套类
  4. 显式自类型(self type)

猜你喜欢

转载自blog.csdn.net/weixin_43520450/article/details/108414953
今日推荐