首页 > 编程语言 >程序员部落酋长 Joel 之洞见

程序员部落酋长 Joel 之洞见

时间:2023-06-26 17:33:11浏览次数:48  
标签:本书 出版 Apress Joel 程序员 文章 洞见


软件开发随想集——

“很久以前,在一个很遥远、很遥远的星系中,……” [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


 

标签:本书,出版,Apress,Joel,程序员,文章,洞见
From: https://blog.51cto.com/u_15767091/6556212

相关文章

  • 程序员11月书讯 | 硅谷,梦开始的地方
    (截图来源:电影硅谷传奇)硅谷,一个令无数技术者和创业者心驰神往的地方。上个世纪,想要拥有一台属于自己的电脑简直是天方夜谭,而个人计算机就是在那样一个时代诞生了。一帮怪咖和梦想家在这里将想象变成现实。乔布斯和比尔·盖茨便是这群怪咖和梦想家的代表者。他们出生在同一年,虽然有......
  • 2023年程序员工资中位数增长10%?开发者最常用的语言竟然是……
    在调研了全球超过90000名开发者之后,程序员社区StackOverflow重磅发布了《2023DeveloperSurvey》调查报告。在本次报告中,StackOverflow从工具、编码、工作、社区等维度展开,同时深入研究了AI/ML技术,并解析开发者如何在工作流程中使用这些技术。接下来,我们将通过这份报告......
  • 【大数据OLAP技术新书推荐】 字节跳动、阿里巴巴大厂资深架构师程序员多年实践经验总
    ClickHouse领域集大成之作-ClickHouse入门进阶实战的标准参考书-日常工作案头必备!如果需要购买阅读的话,可以点击:https://item.jd.com/10077635610807.html目录《ClickHouse入门、实战与进阶》简介图书评价作者简介内容简介为何写作本书本书主要特点如何阅读本书致谢全书目......
  • 既然心里活着的还是那个年轻人,我们申请跟未来的“小程序员”们一起过个节...
    题图|pch.vector -www.freepik.com大儿童们,节日快乐!作为一个上世纪的人,每到这一天听到李老师这首歌,就难以控制的泪流成河,悲伤成海......也许我们从未成熟还没能晓得就快要老了尽管心里活着的还是那个年轻人因为不安而频频回首无知地索求羞耻于求救不知疲倦地翻越每一个山丘........
  • 编程人生 | 一位半路出家的程序员的“天命”之选
    口述:金从军访谈:英子毕业于北大物理系,爱好游戏与编程,做过大学教师、IT创业者、渠道总监、程序员、开发项目经理…….从8年前开始普及AppInventor编程,到如今可谓“越陷越深”。就在今天(美国时间2022年9月9日),AppInventor基金会官方网站发布了基金会举办的首届“优秀教......
  • #yyds干货盘点# LeetCode程序员面试金典:各位相加
    1.简述:给定一个非负整数num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例1:输入:num=38输出:2解释:各位相加的过程为:38-->3+8-->1111-->1+1-->2由于 2是一位数,所以返回2。示例2:输入:num=0输出:02.代码实现:classSolution{pu......
  • #yyds干货盘点# LeetCode程序员面试金典:单词拆分 II
    题目:给定一个字符串s和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序返回所有这些可能的句子。注意:词典中的同一个单词可能在分段中被重复使用多次。 示例1:输入:s="catsanddog",wordDict=["cat","cats","......
  • 第一阶段C++基础入门(黑马程序员)——Day2
    3运算符作用:用于执行代码的运算本章主要学习以下几类运算符:运算符类型作用算术运算符用于处理四则运算赋值运算符用于将表达式的值赋值给变量比较运算符用于表达式的比较,并返回一个真值或假值逻辑运算符用于根据表达式的值返回真值或假值3.1算术运算符作用:用于处理四则运算算术运......
  • ChatGPT 会取代程序员吗?揭穿神话
    随着技术以前所未有的速度发展,有关人工智能(AI)对各个行业的潜在影响的问题随之而来。在软件开发领域,最近的一项发展引发了一场重大争论:高级语言模型ChatGPT会取代程序员吗?虽然ChatGPT和类似的人工智能模型已经证明了它们在生成类人文本方面的能力,但必须消除它们将完全取代......
  • ChatGPT 会取代程序员吗?揭穿神话
    随着技术以前所未有的速度发展,有关人工智能(AI)对各个行业的潜在影响的问题随之而来。在软件开发领域,最近的一项发展引发了一场重大争论:高级语言模型ChatGPT会取代程序员吗?虽然ChatGPT和类似的人工智能模型已经证明了它们在生成类人文本方面的能力,但必须消除它们将完全取代......