题注:其实也可以叫《软件开发学者入门指南》。

《软件之道》快要推出了,作为译者之一,写一篇短文作为推荐吧。

关于这本书的内容和相关介绍很多,就不赘述了,这篇文章主要谈谈什么人应该看这本书,为什么应该看这本书,从这本书里能够得到什么。

什么人应该看这本书

题目说得很清楚了,《软件之道》可以视为有志成为“学术派开发者”或者“软件开发学者”的入门指南。这本书是一本论文集,更精确一点说,是一本精简论文集。论文的主题都和软件行业相关,有的是在圈内引起过争论的热门话题。书分两部分,头一部分比较偏理论,后一部分比较偏解决实际问题。

既然是论文,那么就是从科学的角度来切入和解决问题的,相信这会非常对“死理性派”或者“学术派”的胃口。虽然说很多论文都有精简,但是至少它们可以给读者一些证据和思路,这些都将帮助开发人员、研究人员更好地认识到软件开发以及软件公司中存在的各种问题。

为什么应该看这本书

四个字来概括就是:科学精神。软件行业还很年轻,针对与软件行业的科学分析和论证就更年轻了,年轻到很多东西还没有标准的衡量方法。此外,软件行业的变化非常快,每次有方法即将成为标准的时候,人们就会发现这种方法其实已经处于过时的边缘了。不能因为规律太难捕捉就连试都不去试,也不能因为行业变化太快就不去做总结——这本书的初衷就是抛砖引玉,试着捕捉软件开发中的规律,试着总结这个行业中的一些经验教训——当然,是本着科学精神来做这样的事。

所以你会在书中看到作者们不厌其烦地、长年累月地设计着各种实验,列出各种背景条件,有时候花了很多功夫仅仅能证明一个简单的结论,有时候花了更多的功夫甚至连结论都得不出,只能推出一个可能性。这种用科学方法来探究软件问题的精神是值得提倡和学习的。

除此之外,市面上,尤其是国内很少有关于软件开发的科学论文集。在满眼充斥着“实践类”图书的市场上,这样一本“理论类”的书相信会给你完全不同的角度和感觉。

这本书能给你什么

书中共有三十篇论文。

有的朋友可能对于论文的主题本身很感兴趣,这是第一层:可以解决现实问题,可以帮助撇清一些困惑。这些具体问题大家可以看看目录,标题基本上可以概括了论文的内容,也可以看看相关的文章,有很多描述。

在论文的主题之下,如果能学习到其研究方法,那恭喜你,你用到了这本书的第二层:从“鱼”学到了“渔”。如前面所说,软件业的科学研究方法尚不完善,所以书中也有很多方法是以讨论的方式提出。不过,由于对于方法的描述和应用方法的结果描述详尽,所以参考性和可模仿性也非常强。

如果在学习方法的过程之中,能够提出自己的见解,并按照当前环境需求来改良其方法,那你很划算,用到了本书的第三层:举一反三地应用研究方法,并进行改良,甚至自己也可以进行类似的研究。

总结

也许不是每个人都对理论感兴趣,毕竟统计学的概念和名词以及科学研究的方法论术语对于很多软件开发人员来说,就像是一个写诗的人听到Java和C#这样的名词一样,很陌生很晦涩。但是如果你对研究软件开发的本质,提升软件开发的效率等等问题有兴趣,不妨了解一下这些东西,学习一些新的概念。虽然这些东西不见得能立刻变出几个苹果给你尝鲜,但是在某一时刻说不定就会成为你灵光一闪的催化剂,为你助力。常言道一切学科到了最上层都是哲学——软件开发也不例外。这本书不会让你成为软件哲学家,但是可以让你向上一步,成为科学人士——或者按我标题所言,成为一个“学术派的软件开发者”。