软件开发随想集——

“很久以前,在一个很遥远、很遥远的星系中,……” [3] 好吧,实际上没有那么久啦,那是在 2000 年接近年底的时候, Apress 出版公司正式运营刚满一年。当时,我们只是一家非常小的计算机书籍出版商,毫无名气。那一年,我们计划出版的书籍只有很少几本,大概只相当于 Apress

那时,我苦苦学习如何成为一个出版商,可能花费了过多的时间,忙于浏览网站和编写程序。有一天,我偶然来到了一个叫做“ Joel 谈软件”( Joel on Software )的网站,发现网站的主人是一个观点鲜明的家伙,他的写作风格有点不寻常,很聪明并且还有意挑战一些传统观念。 最特别的是,那时他正在写一组系列文章,批评大多数软件的用户界面是多么糟糕。总的来说,这主要是因为程序员们对用户的实际需求几乎毫无所知——用 Joel 和我经常使用的话说,这叫做“ bupkis ”(近乎没有),这是一句来源于意第绪语 [4] 的纽约土话。我同许多其他人一样,被 Joel

然后,我就冒出了一个想法:我是出版商,我喜欢读他的文章,那么为什么不出书呢?我给 Joel 写信,自我介绍了一番。虽然他起初有些怀疑,但是我不知怎地就说服他相信,如果他将那组用户界面的系列文章写成一本书,会有很多人购买,我和他都会赚到很多钱。(当然,那是发生在很久以前的事情,那时 FogBugz[5] 还没有变得像今天这样成功, Joel

闲话少说, Joel 后来又为新书加入一些新内容,使得它更具吸引力,我觉得也更有销路了。突然之间, Apress 就必须考虑如何出版它的第一本全彩书籍了。 User Interface Design for Programmers (《面向程序员的用户界面设计》)正式出版是在 2001 年 6 月 21 日。现在,它被公认为有史以来第一本“网志书 ”( blook ) [6] 。令计算机图书行业和我本人有些震惊的是,按照当时的畅销标准,它竟然成了一本很优秀的畅销书。顺便说一句,直到今天,它仍然在不断重印,仍然卖得非常好,仍然值得一读。(不过,作为 Joel

不过,还是有人出来说, User Interface Design for Programmers 并不是一本纯粹的“网志书”,因为加入了“太多的”网站上没有的新内容,使得这本书看上去更像一个混合体——我的看法是,这正同它的先锋地位相适合。

短短几年之后,“ Joel 谈软件”成了全世界程序员中最著名的网志,原因当然是 Joel 一直不停地写作那些非常有趣的文章。其中最著名的大概是那篇经典文章《微软公司如何在 API 战争中失利》( How Microsoft Lost the API War )。据我所知,这篇文章着实把微软的开发部门折腾得够呛。

这样,我就有了另一个想法:将 Joel 最好的那些文章收集起来,再出一本书,不做大的变动,除了加上一篇字数很少的前言,只要 Joel 觉得合适就可以。这样一本书的名字就叫做《 Joel 谈软件》 ( Joel on Software )。即使书中 98% 的内容都能在互联网上找到,即使人们认定 Apress 出版这样一本书一定是疯了,它还是在 2004 年底出版了。今天,这本书已经印刷了 10

为什么呢?人们的阅读习惯并没有改变,在像品尝美味的巧克力糖果一样品味 Joel

但是, Joel 并没有因此停下来,他依然在努力思索如何才能更好地编程,或者怎样招聘到优秀的程序员,他也没有停止用自己的观点挑战传统看法。所以,我说服他,现在可以出一本续集,收录 2004 年底上一本书出版之后的那些“ Joel

结果就是你现在手里拿的这第二本文集, Joel 的观点、随感以及偶尔的夸夸其谈都浓缩在了他才华横溢的文章之中 。除了少量的编辑加工,原文几乎毫无变动,但是同显示器屏幕或者 Kindle 阅读器 [7] 相比,你确实以一种非常不同的形式拥有了最新的“ Joel 的精华文章”,现在这被称为“网志书”。(我要对 Joel

这本书同第一本一样,有着不同寻常的封面和副标题。这是因为 Joel 和我都是藏书爱好者(好吧, Joel 才是藏书爱好者,我是藏书狂人)。 17 世纪和 18 世纪那些经典著作的印刷商,为了让他们的书变得生动,往往会做一些特别的设计,我们两人都非常喜欢这一类东西。在第一本《 Joel 谈软件》的封面上,我们向伯顿( Burton )的《忧郁的剖析》 [8]Anatomy of Melancholy )致敬;这一本的封面上,我们向霍布斯( Hobbes )的《利维坦 》 [9]The Leviathan )致敬,它的封面很著名,一个巨人由许多个小人组成。 Joel

最后,是一点很个人化的说明:尽管现在 Joel 的名气很大,但也依然是一个很朴实的人,或者再一次用我们共同的土话说,是一个真正的“ mensch

Gary Cornell

Apress 出版公司创始人



[1]    Apress

——译者注



[2]    本书中“ blog



[3]     原文为“ A long time ago in a galaxy far, far away ... ”,这是美国经典科 幻电影《星球大战》( Star Wars )的片首字幕。 20

——译者注



[4]    意 第绪语( Yiddish )是犹太人的民族语言,本书作者 Joel Spolsky



[5]    FogBugz 是 Joel



[6] “网志书”( blook )是一个 20 世纪 90 年代出现的新词,词源为 bl(og)+(b)ook



[7]     Kindle 阅读器是 Amazon 网上书店于 2007



[8]    罗伯特· 伯顿( Robert Burton , 1577 — 1640 )是 17 世纪英国的著名学者,他的代表作《忧郁的剖析》( Anatomy of Melancholy )出版于 1621



[9]    托马斯·霍布斯( Thomas Hobbes, 1588 - 1679 )是 17 世纪英国的著名政治学家和哲学家,他的代表作《利维坦》( The Leviathan )出版于 1651