Scala Programming

  • 许多语言都允许不是对象的值的存在,比如Java的基本类型,又或者允许不以任何对象的成员形式存在的静态字段和方法。这些对面向对象编程理念的背离在一开始看上去没什么不妥,但它们倾向于让事情变得复杂,限制了伸缩的可能。而在Scala中,它对面向对象的实现是纯碎的:每个值都是对象,每个操作都是方法调用。例如:1 + 2
  • Scala既是面向对象的,又是函数式的
  • 函数式编程的两个核心理念,第一个理念是函数是一等的值,第二个理念是程序中的操作应该将输入值映射成输出值而不是当场修改数据(另一种表述形式:方法不应该有副作用,方法只能通过接收入参和返回结果这两种方式与外部环境通信)