《程序员的呐喊》一一1.3 作者手记:名词王国里的执行

简介:

本节书摘来自异步社区出版社《程序员的呐喊》一书中的第1章,第1.3节,作者:【美】Steve Yegge ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 作者手记:名词王国里的执行

程序员的呐喊
这是我第一篇比较出名的牢骚,所以印象很深。2005年年中的时候,我离开亚马逊加入Google,顺便把一些内部分享的旧文章转到了公共博客上。12月的时候,这些文章通过reddit和Hacker News的推荐慢慢获得了一些关注——一下子我贴的每篇博客都吸引了几千人的阅读量。

与此同时,当时我在Google做一个很讨厌的Java项目。这块代码我就是看不对眼。之前做过的几个Java项目都还可以忍受,但这个实在是设计过头了。在这里我就不点名了。不过代码真的写得很烂,它本身几乎就是个玩笑。它采用的是那种Java界很流行的代码风格,追求组合性(composability)和不可变性(immutability)这两种Java都不怎么支持的特性。更糟糕的是,这些还是Java 5之前的代码。

我感觉那支团队非常爱自己的工作,因为他们不断地制造这样的代码。等读到我的解析,你就明白怎么回事了。

不管这么说,反正我是受够了,每天晚上都和我朋友托德·斯塔姆夫(Todd Stumpf)发牢骚,他也在Google上班。我一直想寻求某种方法来描绘这些代码,让团队能像我一样看到他们的代码有多糟糕。

终于我想到了一个办法,有一天晚上,我写了一个讽刺性的寓言故事,啰里啰唆地写了很多不写也不妨的解释。发表后一下就炸锅了,所有人都疯了。当时大多数Java程序员都极为震惊,好多人被冲昏了头,连生气都顾不上了。其他人则幸灾乐祸地跟着起哄,完全没意识到自己就是下一个。(我在接下来的几年里,几乎把所有语言都涮了一遍。)

反正在我写这篇东西的时候,都已经过去6年了,他们还是没把lambda加进来。我觉得我锲而不舍的奚落多少还是有点用的,他们终于打算在 Java 8 里引入lambda了(假设这次不跳票——从历史经验来看并不乐观)。Java社区非常害怕这个已经存在于其他语言里好几十年的东西,这是对“未知”事物的恐惧,而这份压力也迫使支持者们迟滞不前。

现在看起来Java或许终于要有动词了,和我写这篇东西之间隔了整整7年。

相关文章
|
10月前
|
人工智能 IDE 算法
【周末闲谈】新的编程方式,程序员的未来何在?
【周末闲谈】新的编程方式,程序员的未来何在?
77 0
|
运维 程序员 PHP
程序猿之间的各种鄙视链,你是否也曾经被屌?
程序员——是一个集思维、情商、行为都异于其他传统岗位的群体。清高自傲、闷骚、会修电脑、宅、不善交际、几百年不洗的衬衫牛仔双肩包…,代表着程序员这个群体的鲜明标签。
112 0
|
程序员
【观点】程序员必须知道的编程格言
导读:本文是从《What are your list of must know programming proverbs ? 》这篇文章翻译而来。 内容如下: 继Kevin给了我们10条按他的观点的每个程序员必须知道的编程格言。
929 0
|
自然语言处理 程序员 数据库
过年了,给亲朋好友解释「啥是程序员」
前言 一年一度的春节又到了,作为程序员的你是怎么告诉亲朋好友自己日常到底是做什么工作的呢? 程序员是一个新兴的职业,我在上大学以前不了解程序员到底是做什么的,对编程语言也一窍不通,也不关心玩过的「游戏」和天天逛的「网站」究竟是怎么来的。
1595 0
|
程序员
如何用一段简单的代码讲述一个悲伤的故事?
程序员的悲伤故事难道不应该是: 别人的老板晚上带他出去耍,你的老板半夜催你改代码; 别的程序员工资高、待遇好,而你只是血压高、心态好…… 擦干眼泪告诉自己:程序员前半生的悲伤都不是事儿,因为后半生你就慢慢习惯了。
940 0
|
Java 程序员
让大妈都能秒懂的程序员术语!
喝酒基本每个人都了解,我们就从酒中理解 IT 知识吧! ...
1148 0
《战争论》第二篇《论战争理论》的主要内容
《战争论》第二篇《论战争理论》的主要内容   《论战争理论》是《战争论》的第二篇,主要论述了军事艺术和军事活动特点(如图1所示)。 图1 《论战争理论》的主要原则   一 军事艺术 战争是通过精神力量使用物质力量,使用直线或者包围战术,在各种地理环境中作战。
1843 0

相关实验场景

更多