程序员部落酋长 Joel 之洞见
【原书名】 More Joel on Software
【内容提要】
本书是一部关于软件技术、人才、创业和企业管理的随想文集,作者以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓道来,观点新颖独特,内容简洁实用。全书分为 36 讲,每一讲都是一个独立的专题。
本书从不同侧面满足了软件开发人员、设计人员、管理人员及从事软件相关工作的人员的学习与工作需要。
【目录】 在这里
【样章】 在这里
【序】
“很久以前,在一个很遥远、很遥远的星系中,……” [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 年,从哲学上讨论国家的起源、性质和作 用,是古典学术名著。 ——译者注
---------------------------------------------------------------------------------------
1.诚邀合作: 如果您想翻译、写作或是推荐IT类图书,我们将竭诚为您提供最专业的服务平台。
2.联系我们: yuany@turingbook.com(E-Mail)
3.欢迎加入图灵社区与作译者、业内人士进行交流:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架