Scala程序设计:Java虚拟机多核编程实战
初涉代码之时,我的关注点在于实现功能。初窥门径的我,不了解语言,不熟悉常见的编码技巧。那时,只要代码能够跑出想要的效果,我便欣喜若狂,无暇顾及其他。
积累一定经验之后,对于编写代码,我越来越有感觉,实现一个功能不再高不可攀。我开始了解在工程中编写代码,如何在一个系统而不仅仅是一个局部处理问题,如何解决各种bug,更重要的是,从中汲取教训,在编码中避免这些问题。
读一些软件开发的书,了解一下外面的世界,我知道了,除了自娱自乐外,代码应该是为明天而写。有个说法,对程序员最严厉的惩罚,就是让他维护自己编写的代码。于是,我开始尝试编写干净代码:短小的函数,清晰的结构……所做的一切无非就是让自己明天的日子好过一些。
历经磨练,代码逐渐干净,窃喜之际,我见到了Ruby。孤陋寡闻的我第一次听到了代码的表现力。原来代码不仅仅可以写得让开发人员容易理解,也可以让业务人员看懂。事实上,更容易懂的代码常常也意味着更容易维护。许多人关注的DSL,背后就是对于表现力的追求。
Scala就是Java平台上追求表现力的探索。
我是通过Java开始真正理解软件开发的,所以,对Java这个平台有一种难以割舍的情结。初见Scala,我看到的是,一个几乎不舍弃任何Java的优点,又能拥有更好表现力的“Java”。当有机会系统地了解这门语言时,我欣然接受了。
翻译向来是一件费力不讨好的事。认真准备的考试不见得能拿到满分,做最大的努力,做最坏的打算。于我,只希望这个译本得到的评价不是太糟糕就好。
感谢我的合作者,李剑,你给我这样的机会,让我知道,我居然还可以做翻译,你的认真让我受益良多。感谢本书的原作者Venkat Subramaniam,和你讨论让我们对Scala有了更深刻的理解。