《卓有成效的程序员》
David Bock
首席咨询师
CodeSherpas
在我们这个行业里,不同程序员的个人生产效率可谓判若云泥 ── 大多数人也许要花一周时间才能干完的活,有些人一天之内就搞定了。这是为什么?简单来说,这些程序员比他们的大多数同行掌握了更多趁手的工具。说得更明白一点,他们真正了解各种工具的功用,并且掌握了使用这些工具所需的思维方式。这些 “ 高产程序员 ” 的秘密是某种方法学与哲学的混合体,而 Neal 在他的书中准确地捕捉到了这种神秘的东西。
时间回到 2005 年,在去机场的车上 Neal 问我: “ 你认为这个世界会需要再多一本关于正则表达式的书吗? ” 然后话题就变成了 “ 我们希望有什么样的书 ” ,并从此种下了你手上这本书的种子。回望自己的职业生涯中从 “ 好程序员 ” 跃升为 “ 高产程序员 ” 的那个阶段,思索当时的情景和前因后果,我这样说道: “ 书名我还没想好,不过副标题应该叫 ‘ 用命令行作为集成开发环境 ’ 。 ” 那时我把自己的生产效率提升归功于使用 bash shell 带来的加速,但这并不是全部 ── 更重要的是我对这些工具更加熟悉,我无须思索怎么完成一些日常工作,而是自然而然地就把它们做好。我们还花了一些时间讨论过度生产 * 以及控制这种情况的办法。几年以后,在经过无数的私下讨论,以及围绕这个主题做了一系列演讲之后, Neal 的大作终于得以付梓了。
在《 Programming Perl 》( O'Reilly 出版)一书中, Larry Wall 说到 “ 懒惰,傲慢,缺乏耐性 ” 是程序员的三大美德:懒惰,因为你一直致力于减少需要完成的工作总量;缺乏耐性,因为一旦让你浪费时间去做本该计算机做的事,你就会怒不可遏;还有傲慢,因为被荣誉感冲昏头的你会把程序写得让谁都挑不出毛病来。这本书不会使用这几个字眼(我已经用 grep 检查过了),但你会发现同样的理念在本书的内容中得到了继承和发扬。
曾经有那么几本书,它们影响了我的职业生涯,甚至改变了我看待这个世界的方式。说实话,我真的希望早 10 年看到这本书,因为我确信它会对它的读者造成极其深远的影响。
* 译者注: “ 过度生产 ” ( hyperproductivity )是指在高效的工具和工作流程之下工作的工人得不到休息而过度疲劳、压力过大的情况。
大家好,本书交流群:68443878,欢迎大家加入,讨论读书心得,交流技术经验