购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

作为一名程序员,我的职业生涯中一直贯穿着这样的主题:寻求更好的抽象和更好的工具来编写更好的软件。经过了这些年,我认为可组合性(composability)是一项比其他特征更重要的特征。如果我们编写的代码具有很好的可组合性,这通常意味着这些代码同样具备软件工程师所看重的其他特征,如正交性(orthogonality)、松耦合性以及高聚合性(high cohesion)。这些都是互通的。

几年前,当我发现Scala语言时,它的可组合性便给我带来了很大的震撼。

Martin Odersky创造Scala时,运用了一些简洁的设计方法以及源于面向对象和函数式编程的一些看似简单却很强大的抽象,这使得Scala具备高聚合性,而具备了正交性的高度抽象则给这门语言带来可用于软件设计各个方面的可组合性。Scala是一门真正具备了可扩展性的语言,我们既能使用它编写各种脚本语言,也能使用它实现大规模企业应用和中间件。

Scala起源于学术界,却已经成长为了一门注重实用性的语言,对于那些真实生产环境中的应用场景,Scala已经完全准备好了。

《Scala程序设计》一书的实用性让我感到兴奋。Dean干得太棒了,除了使用有趣的讨论和示例对Scala这门语言进行讲解之外,还将这些内容套到真实世界的应用场景中。这本书是为那些希望能够解决实际问题的程序员所编写的。

几年前,我们还都是面向切面编程委员会的成员时,我认识了Dean。我很庆幸能够认识他。Dean拥有一个少见的混合型大脑,他既能思考高深的学术问题,也能想到如何运用实际的方法解决问题。

通过阅读这本书,你将学到如何使用mixin和函数组合编写可重用组件;如何运用Akka库编写响应式(reactive)应用;如何高效地使用Scala提供的一些高级特征,如宏、higherkinded类型;如何通过Scala的丰富、灵活而又富有表现力的语法构造领域特定语言;如何有效地测试你的Scala代码;如何通过Scala简化大数据问题,等等。

读者们,请好好享受阅读这本书的时光,正如我所做的那样。

——Jonas Bonér
Typesafe公司联合创始人兼技术总监,2014 年 8 月 K+lpNiqzSQgGu94q+zLer2OFqFxVN3ia8CxlwtRmijAGu6D6nd+AsiA8gyZ4ZpgZ

点击中间区域
呼出菜单
上一章
目录
下一章
×