Chapter 01 《A Scalable Language》
2018-06-11 本文已影响12人
liqing151
Scala
简介
-
Scala
的意思主要是说可扩展的语言,可以用在小场景和大场景中。可以和Java
库无缝连接,构建大型系统和可重用框架时发挥更大的优势。
-
-
Scala
中的库以及伴生对象可以使得Scala
在定义常量的时候保持简洁的语法,但是程序员又可以进行细粒度的控制和操作。
-
- Scala在语法层面的伸缩性是
Scala
允许程序员编写类似语言本身原生提供的函数,比如BigInt
的+
号。
- Scala在语法层面的伸缩性是
-
-
Scala
真的非常的简洁,是静态类型的语言,但是通过类型推断可以使得程序变得简洁,模式匹配为程序提供了灵活性。静态类型主要的好处有:
- 4.1. 可验证性质。通过检测为程序的正确性带来一定的保障
- 4.2. 安全的重构。在重构时可以通过类型检测的错误来纠正所有需要纠正的地方
- 4.3. 文档。编译器和
IDE
可以通过类型标注来给程序员提供和更好的上下文帮助。(尤其是IDE
)
-
函数式编程,两个核心理念
- 函数是
first-class
公民,函数也有自己的字面量(匿名函数),整体就是一个表达式。函数是一等元素进一步方便了对操作的抽象。
- 函数是
- 函数式编程避免就地修改输入值,而是将输入值映射成输出值,避免更改输入值。应该避免修改数据结构,函数不应该有副作用,只能通过输入值和返回结果与外界进行沟通交流。函数最好是引用透明的,就是对于任何给定的输入,该方法调用都可以被结果所替代而不产生错误。
Scala
与Java
-
Scala
程序最后被编译成为JVM
字节码,可以和Java
程序无缝连接。在Scala
中,重度复用了Java
中的许多类型。同时也对Java
中的许多类型进行了再次包装(依赖于隐式转换)。