梦断代码
基本信息
编辑推荐
两打程序员,3年时间,4732个bug,只为打造超卓软件。.
《梦断代码》是一本代码史。...
推荐阅读
内容简介回到顶部↑
软件乃是人类自以为最有把握,实则最难掌控的技术。本书作者罗森伯格对osaf主持的chandler项目进行田野调查,跟踪经年,试图借由chandler的开发过程揭示软件开发中的一些根本性大问题。
本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。
本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。
作译者回到顶部↑
本书提供作译者介绍
Scott Rosenberg:作家,编辑,1981年毕业于哈佛大学,1995年与他人共同创办了Salon网站,此后担任其首席技术编辑达数年之久,并负责技术工作。从1986到1995年,一直为San Francisco Examiner写作,最初写剧评,后来又写影评和“数字文化”专栏。所写的剧评曾于1989年获George Jean Nathan奖。在进入Examiner之前,一直为Boston Phoenix写剧评、影评和书评。个人博客地址为www.wordyard.com。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第0章 软件时间
第1章 死定了[2003年7月]
第2章 agenda之魂[1968~2001年]
第3章 原型与python[2001~2002年11月]
第4章 乐高王国[2002年11月~2003年8月]
第5章 管束奇客和狗[2003年4月~8月]
第6章 完成设计方案[2003年7月~11月]
第7章 细节视图[2004年1月~5月]
第8章 白板上的即时贴[2004年6月~10月]
第9章 方法
第10章 工程师和艺术家
第11章 通往狗食版之路[2004年11月~2005年11月]
尾声 长赌[2005~2029年及以后]
译后记
附录a 专有名词对译表
第1章 死定了[2003年7月]
第2章 agenda之魂[1968~2001年]
第3章 原型与python[2001~2002年11月]
第4章 乐高王国[2002年11月~2003年8月]
第5章 管束奇客和狗[2003年4月~8月]
第6章 完成设计方案[2003年7月~11月]
第7章 细节视图[2004年1月~5月]
第8章 白板上的即时贴[2004年6月~10月]
第9章 方法
第10章 工程师和艺术家
第11章 通往狗食版之路[2004年11月~2005年11月]
尾声 长赌[2005~2029年及以后]
译后记
附录a 专有名词对译表
序言回到顶部↑
推荐序一.
大多数技术书籍只是讲技术和理论,但我们不知道在真实的软件开发过程中,这些技术和理论究竟是被什么样的人如何去使用?.
《梦断代码》向我们展示了硅谷一流软件开发者是如何进行产品开发的,把真实的人、事、技术以及产品的发展过程结合在一起,每个有志于开发畅销产品的程序员都值得耐心去品味这个故事。
CSDN总裁 蒋涛
2008年6月
推荐序二..
软件技术日新月异,软件项目领导的艺术也是日新月异。如同开发者在不断把自己的代码当作艺术品来雕琢一样,组织好一群天才开发者,则更是艺术中的艺术。
软件开发者不是堆砌代码的工人,也无法安于命令式的任务布置。这些天才开发者们,低调、寡言、有独立的自我意识,他们并不迷恋于成为焦点的感觉,但却十分沉迷于自己认为伟大的创造。天才们在一起的合作,貌似创意无穷,实则合力有限;貌似独当一面,实则整合艰难。等等诸多的问题,似乎成了很多国内外软件企业的通病。
真正的领导者,实际上早已被要求有着化不可控为可控、化不同愿景为共同愿景、激发天才们最大潜能的能力。这对于整个项目而言,这样的图景绝不应该止于一个美好愿望,尽管难上加难,但在所有开发者和经理们的努力下,我坚信一定可以实现。
Discuz!创始人 康盛创想(北京)科技有限公司总裁 戴志康
2008年6月...
大多数技术书籍只是讲技术和理论,但我们不知道在真实的软件开发过程中,这些技术和理论究竟是被什么样的人如何去使用?.
《梦断代码》向我们展示了硅谷一流软件开发者是如何进行产品开发的,把真实的人、事、技术以及产品的发展过程结合在一起,每个有志于开发畅销产品的程序员都值得耐心去品味这个故事。
CSDN总裁 蒋涛
2008年6月
推荐序二..
软件技术日新月异,软件项目领导的艺术也是日新月异。如同开发者在不断把自己的代码当作艺术品来雕琢一样,组织好一群天才开发者,则更是艺术中的艺术。
软件开发者不是堆砌代码的工人,也无法安于命令式的任务布置。这些天才开发者们,低调、寡言、有独立的自我意识,他们并不迷恋于成为焦点的感觉,但却十分沉迷于自己认为伟大的创造。天才们在一起的合作,貌似创意无穷,实则合力有限;貌似独当一面,实则整合艰难。等等诸多的问题,似乎成了很多国内外软件企业的通病。
真正的领导者,实际上早已被要求有着化不可控为可控、化不同愿景为共同愿景、激发天才们最大潜能的能力。这对于整个项目而言,这样的图景绝不应该止于一个美好愿望,尽管难上加难,但在所有开发者和经理们的努力下,我坚信一定可以实现。
Discuz!创始人 康盛创想(北京)科技有限公司总裁 戴志康
2008年6月...
媒体评论回到顶部↑
“每个有志于开发畅销产品的程序员都值得耐心去品味这个故事。”
—— CSDN总裁 蒋涛
“《梦断代码》是一本代码史。”
—— DoNews制作人,千橡集团副总裁 刘韧
“《梦断代码》乃承Tracy Kidder《新机器灵魂》血脉之初见者,融技术眼界与叙事功夫于一炉,实多年未见之奇书。读毕,当可了解软件术士辈之所为。”
—— 詹姆士·菲罗斯(James Fallows),《大西洋月刊》
“技术人员爱把复杂的问题形容为‘非凡’。司各特·罗森伯格选取了极度非凡的主题,并使之浅显易懂。他盛赞写代码的人,但也坦承他们如常人般复杂而有缺陷。《梦断代码》实在是一流的报道和著作。”
—— 丹·基尔默(Dan Gillmor),公民媒体中心主席及《自媒体(We the Media)》作者
“《梦断代码》探索了编程如何鼓舞和破坏人类对新工具的创造,既令人迷醉,又教人冷静。本书文笔优美,专为对创造与革新之根源感兴趣者——无论是开发者还是其他人——所写。”
—— 史蒂芬·强森(Steven Johnson),《开机(Everything Bad Is Good for You)》及《幽灵地图(the Ghost Map)》作者
“司各特·罗森伯格放胆踏入非程序员未敢涉足之地:那人类想象苦苦变身为代码的旋风中央。在《梦断代码中》,他华丽地将一家初创软件公司的故事与我们理顺编程过程的(无穷尽)努力结合起来讲述。”
—— 艾伦·乌曼(Ellen Ullman),《走近机器(Close to the Machine)》作者
—— CSDN总裁 蒋涛
“《梦断代码》是一本代码史。”
—— DoNews制作人,千橡集团副总裁 刘韧
“《梦断代码》乃承Tracy Kidder《新机器灵魂》血脉之初见者,融技术眼界与叙事功夫于一炉,实多年未见之奇书。读毕,当可了解软件术士辈之所为。”
—— 詹姆士·菲罗斯(James Fallows),《大西洋月刊》
“技术人员爱把复杂的问题形容为‘非凡’。司各特·罗森伯格选取了极度非凡的主题,并使之浅显易懂。他盛赞写代码的人,但也坦承他们如常人般复杂而有缺陷。《梦断代码》实在是一流的报道和著作。”
—— 丹·基尔默(Dan Gillmor),公民媒体中心主席及《自媒体(We the Media)》作者
“《梦断代码》探索了编程如何鼓舞和破坏人类对新工具的创造,既令人迷醉,又教人冷静。本书文笔优美,专为对创造与革新之根源感兴趣者——无论是开发者还是其他人——所写。”
—— 史蒂芬·强森(Steven Johnson),《开机(Everything Bad Is Good for You)》及《幽灵地图(the Ghost Map)》作者
“司各特·罗森伯格放胆踏入非程序员未敢涉足之地:那人类想象苦苦变身为代码的旋风中央。在《梦断代码中》,他华丽地将一家初创软件公司的故事与我们理顺编程过程的(无穷尽)努力结合起来讲述。”
—— 艾伦·乌曼(Ellen Ullman),《走近机器(Close to the Machine)》作者
书摘回到顶部↑
第0章:软件时间
那是1975年的冬天。我在终端机房中俯身敲击一台电传打字机,每打完一行,那笨重的机头就会摇头晃脑猛然撞回最左边,开始新的一行。我从几个小时前开始输入一行行黑代码,忘记了时间流逝,全然不知已是午夜时分。看门人已经关闭廊灯。我并没有得到许可在纽约大学物理系大楼中流连忘返、使用向高中学生免费发放的计算机账号。不过,倒也无人责难。
那时我年方十五,正迷恋于一个叫做Sumer的游戏,在游戏中,我管理着新月沃土上一座古代城邦。今天的电脑游戏玩家也许会嘲笑其稚嫩:它在一卷纸上逐行打印出大写字母,报告游戏进程。玩家运筹帷幄,分配食用和留种的谷物,然后程序就会告知城邦每年的发展情况。“汉谟拉比陛下,”程序像一个诚惶诚恐的宰相般报告说,“微臣伏启圣鉴……”
没过几天,我就已经把游戏玩了个遍。但是,和现在令青少年着迷的大多数游戏不同,Sumer可以让玩家打补丁。谁都能够窥探其内部运行机制:该游戏只是向计算机发出的一系列简单指令,这些指令存储于一卷多行八孔纸带上。(电传打字机旁的塑料盘中堆积的纸带,几乎带来和游戏一样多的乐趣。)纸带像地下出版物一般在朋友间流传共享。只要花几个钟头学点简单的Basic语言,改游戏就会和玩游戏一样容易:将纸带上的指令装载到计算机,然后开始往程序里加代码。
Sumer是个空白画板——历史只是个轮廓,随时准备着让少年的梦想来浇筑。我和朋友们掌握了它简单的构造,开始往里加东西。让玩家可以选择不同的宗教信仰吧!偶尔来一次腺鼠疫,会发生什么事?蛮族入侵者应该很酷。嘿,搞几具弹石机如何?
那天晚上,我倾力于改造游戏中民众造反模式的设计。Sumer只提供粗糙的起义模式;如果你干得太差,人民就会起来推翻你。(Sumer的原作者是个乐天派。)我认为,游戏中的起义模式应该多种多样,所以就创建了一些子程序补丁——让Sumer陷入内战,或是引入一个想要争取合法地位的反对派政府。
我不在乎干到多晚。F线地铁整夜运行,可以把我带回位于皇后区的家。一定得重新设计游戏中的革命模式!
四分之一世纪后,2000年五月,我坐在旧金山的一间办公室里,眼睁睁紧盯着一台现代计算机屏幕(高解析度、数百万种颜色)。喝剩的咖啡纸杯胡乱摆在键盘边上。正是凌晨5点。
那时我四十岁,是在线杂志Salon的创始人和总编,此外还负责一个软件开发项目。我们花了几个月精心规划,希望给网站增加动态特性,使之彻底改观。然而,现在我却眼看着项目濒临绝境。
在没日没夜苦干了几个星期之后,主力程序员终于宣告工作完成,自己要飞往夏威夷,度一个全家盼望已久的假期。剩下他的老板,技术副总裁查德·迪克森(Chad Dickerson),独自琢磨为什么存储网站文章的数据库就是不肯与负责显示页面的程序对接。查德两个通宵没合眼,努力修复问题。若是不然,到周一早上,我们的两百万读者就只能看到网站上没更新过的旧闻了。
难道我们以前没做过软件吗?
做过。
是没有全面测试吗?
显然不太充分。
怎么会搞得一塌糊涂?
鬼晓得。
我吃完了自动售货机里最后一袋饼干,徘徊又等待,却仍是毫无指望。时间还多。还有时间去读那位以新项目的名义准备香槟加蛋糕聚会的倒霉同事的邮件,回复他说:“或者咱们再等等吧。”还有时间去体会身陷困境孤立无援的感受,然后琢磨将系统的中心服务器命名为“卡夫卡”是不是个好主意。
大约早晨9点,我们终于发布了站点“改进版”的第一个版本。又是周一清晨,其他同事相继出现在办公室,他们过了好一会儿才知道,原来我们六个人昨夜压根儿就没回家睡觉。
又过了几星期,程序员们修复了最严重的问题,软件运行趋于平稳。但后来每每听说某公司打算“升级其软件平台”、重新搭建一套大型系统时,我总不免暗自担心。
20世纪90年代科技行业的兴盛,给我们带来了“互联网时间”的概念。对该短语含义的理解见仁见智,但多指“快速”之意。数字时代的新时间机制下,一切皆有可能发生——技术产生、公司创立、创造财富——而且速度惊人。这意味着你没时间做到尽善尽美——无须担心,因为别人也一样。
那是1975年的冬天。我在终端机房中俯身敲击一台电传打字机,每打完一行,那笨重的机头就会摇头晃脑猛然撞回最左边,开始新的一行。我从几个小时前开始输入一行行黑代码,忘记了时间流逝,全然不知已是午夜时分。看门人已经关闭廊灯。我并没有得到许可在纽约大学物理系大楼中流连忘返、使用向高中学生免费发放的计算机账号。不过,倒也无人责难。
那时我年方十五,正迷恋于一个叫做Sumer的游戏,在游戏中,我管理着新月沃土上一座古代城邦。今天的电脑游戏玩家也许会嘲笑其稚嫩:它在一卷纸上逐行打印出大写字母,报告游戏进程。玩家运筹帷幄,分配食用和留种的谷物,然后程序就会告知城邦每年的发展情况。“汉谟拉比陛下,”程序像一个诚惶诚恐的宰相般报告说,“微臣伏启圣鉴……”
没过几天,我就已经把游戏玩了个遍。但是,和现在令青少年着迷的大多数游戏不同,Sumer可以让玩家打补丁。谁都能够窥探其内部运行机制:该游戏只是向计算机发出的一系列简单指令,这些指令存储于一卷多行八孔纸带上。(电传打字机旁的塑料盘中堆积的纸带,几乎带来和游戏一样多的乐趣。)纸带像地下出版物一般在朋友间流传共享。只要花几个钟头学点简单的Basic语言,改游戏就会和玩游戏一样容易:将纸带上的指令装载到计算机,然后开始往程序里加代码。
Sumer是个空白画板——历史只是个轮廓,随时准备着让少年的梦想来浇筑。我和朋友们掌握了它简单的构造,开始往里加东西。让玩家可以选择不同的宗教信仰吧!偶尔来一次腺鼠疫,会发生什么事?蛮族入侵者应该很酷。嘿,搞几具弹石机如何?
那天晚上,我倾力于改造游戏中民众造反模式的设计。Sumer只提供粗糙的起义模式;如果你干得太差,人民就会起来推翻你。(Sumer的原作者是个乐天派。)我认为,游戏中的起义模式应该多种多样,所以就创建了一些子程序补丁——让Sumer陷入内战,或是引入一个想要争取合法地位的反对派政府。
我不在乎干到多晚。F线地铁整夜运行,可以把我带回位于皇后区的家。一定得重新设计游戏中的革命模式!
四分之一世纪后,2000年五月,我坐在旧金山的一间办公室里,眼睁睁紧盯着一台现代计算机屏幕(高解析度、数百万种颜色)。喝剩的咖啡纸杯胡乱摆在键盘边上。正是凌晨5点。
那时我四十岁,是在线杂志Salon的创始人和总编,此外还负责一个软件开发项目。我们花了几个月精心规划,希望给网站增加动态特性,使之彻底改观。然而,现在我却眼看着项目濒临绝境。
在没日没夜苦干了几个星期之后,主力程序员终于宣告工作完成,自己要飞往夏威夷,度一个全家盼望已久的假期。剩下他的老板,技术副总裁查德·迪克森(Chad Dickerson),独自琢磨为什么存储网站文章的数据库就是不肯与负责显示页面的程序对接。查德两个通宵没合眼,努力修复问题。若是不然,到周一早上,我们的两百万读者就只能看到网站上没更新过的旧闻了。
难道我们以前没做过软件吗?
做过。
是没有全面测试吗?
显然不太充分。
怎么会搞得一塌糊涂?
鬼晓得。
我吃完了自动售货机里最后一袋饼干,徘徊又等待,却仍是毫无指望。时间还多。还有时间去读那位以新项目的名义准备香槟加蛋糕聚会的倒霉同事的邮件,回复他说:“或者咱们再等等吧。”还有时间去体会身陷困境孤立无援的感受,然后琢磨将系统的中心服务器命名为“卡夫卡”是不是个好主意。
大约早晨9点,我们终于发布了站点“改进版”的第一个版本。又是周一清晨,其他同事相继出现在办公室,他们过了好一会儿才知道,原来我们六个人昨夜压根儿就没回家睡觉。
又过了几星期,程序员们修复了最严重的问题,软件运行趋于平稳。但后来每每听说某公司打算“升级其软件平台”、重新搭建一套大型系统时,我总不免暗自担心。
20世纪90年代科技行业的兴盛,给我们带来了“互联网时间”的概念。对该短语含义的理解见仁见智,但多指“快速”之意。数字时代的新时间机制下,一切皆有可能发生——技术产生、公司创立、创造财富——而且速度惊人。这意味着你没时间做到尽善尽美——无须担心,因为别人也一样。
评论交流
共有29人开贴评论 41人参与评论 20人参与打分 查看
评价等级:



发表于:2010-5-10 9:43:00
花了一个周末看完,结论是--很好的一个题材,可惜给作者写废掉了。前面几章还行,越到后面就越看不进去了。
关键在于本书的作者本人只是一个记者,而不是钱德勒项目的参与者,所以一方面他写的内容很难触及到项目本质,颇有隔靴搔痒的感觉。
另一方面,作者写书的目标读者明显是对软件项目不了解的非技术人员,所以很多软件工程的概念他还解释半天。
问题在于有些东西再怎么解释,行外人总是对这个不能很了解的,而行内人看了却觉得过于啰漓叭嗦了,看了以后很难对项目的艰难进展产生一种于我心有戚戚焉的感觉。
书的整体结构也非常不合理,一方面是记流水账,什么时候发生了什么问题,但是为啥会发生这些问题,要具体到这个项目的实际情况分析,作者没办法分析出来(当然,也也不能怨作者,他是一个记者,本身并不具备这种能力),只能泛泛扔出几本名著对软件延误的结论来概括一下。
如果不能从细节处分析,这本书就没有存在的价值,从宏观上看,钱德勒项目失败一句话就能概括了,过度设计导致的,什么都想做导致啥也没做成。
书里面另一方面内容又过于跳跃,经常因为要给非专业读者解释某些概念,而把原来的叙述中断跳过去解释那些概念,中间还专门有两章篇幅跑去讲软件工程发展的一些历史。
最后这本书,既算不上一个软件开发项目的纪实文学,也算不上一个软件工程项目专著论述,整一个四不像。
另外,从文字的角度看么,感觉也实在不咋样。也许原著的文字在英文里面是很活泼的,但是中文和英文的文法是大相径庭的,英文可读性强不等于搬过来的中文也强。译者后面说他翻译是注重“保持风格”而不是“译述”,道理是没错,但是问题在于原作者这种英文的风格适合中文读者么?
书的排版么不知道哪个脑残编辑把脚注改为了侧注,严重影响阅读,翻开一页,边上的注解马上就喧宾夺主了。
再说一下翻译么,应该说还是比较认真的,但是我提两点商榷一下,一个是不知道为啥总是把数据库翻译成资料库这样,这是台湾的翻法。另一个就是书里面提到的设计,从技术人员角度看,一个项目的设计指的是整个系统的设计,但是书里面设计的含义明显是界面GUI的设计,用户使用方式设计。我一开始楞没看明白,后来联系上下文才搞清楚。如果原作者用了design一词,翻译的时候还是加个括号为妥“(界面)设计”。
关键在于本书的作者本人只是一个记者,而不是钱德勒项目的参与者,所以一方面他写的内容很难触及到项目本质,颇有隔靴搔痒的感觉。
另一方面,作者写书的目标读者明显是对软件项目不了解的非技术人员,所以很多软件工程的概念他还解释半天。
问题在于有些东西再怎么解释,行外人总是对这个不能很了解的,而行内人看了却觉得过于啰漓叭嗦了,看了以后很难对项目的艰难进展产生一种于我心有戚戚焉的感觉。
书的整体结构也非常不合理,一方面是记流水账,什么时候发生了什么问题,但是为啥会发生这些问题,要具体到这个项目的实际情况分析,作者没办法分析出来(当然,也也不能怨作者,他是一个记者,本身并不具备这种能力),只能泛泛扔出几本名著对软件延误的结论来概括一下。
如果不能从细节处分析,这本书就没有存在的价值,从宏观上看,钱德勒项目失败一句话就能概括了,过度设计导致的,什么都想做导致啥也没做成。
书里面另一方面内容又过于跳跃,经常因为要给非专业读者解释某些概念,而把原来的叙述中断跳过去解释那些概念,中间还专门有两章篇幅跑去讲软件工程发展的一些历史。
最后这本书,既算不上一个软件开发项目的纪实文学,也算不上一个软件工程项目专著论述,整一个四不像。
另外,从文字的角度看么,感觉也实在不咋样。也许原著的文字在英文里面是很活泼的,但是中文和英文的文法是大相径庭的,英文可读性强不等于搬过来的中文也强。译者后面说他翻译是注重“保持风格”而不是“译述”,道理是没错,但是问题在于原作者这种英文的风格适合中文读者么?
书的排版么不知道哪个脑残编辑把脚注改为了侧注,严重影响阅读,翻开一页,边上的注解马上就喧宾夺主了。
再说一下翻译么,应该说还是比较认真的,但是我提两点商榷一下,一个是不知道为啥总是把数据库翻译成资料库这样,这是台湾的翻法。另一个就是书里面提到的设计,从技术人员角度看,一个项目的设计指的是整个系统的设计,但是书里面设计的含义明显是界面GUI的设计,用户使用方式设计。我一开始楞没看明白,后来联系上下文才搞清楚。如果原作者用了design一词,翻译的时候还是加个括号为妥“(界面)设计”。
发表于:2009-12-24 15:01:00
书的内容很不错,本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。虽然还不是能很深的体会到本书中的深刻奥妙,但是也可以从中总结出不少的经验,可以很好的帮助自己在实际程序的设计中少走很多的弯路。当然也会有一部分人会认为这本书根本就没有什么了不起,觉得那么多的人,用了那么多的时间,花费了那么的资源,结果还出不来一个结果,但是我们可以看出的这是别人花费了很大的代价,给我们展示了一个程序员在软件开发过程中必须要体会到的关键。.我觉得对于像我这样的一般程序员来说,会有不少体会,以及将会影响到自己对软件业的看法和对日后转向管理层提供一些思想准备.特别是对于开源的思考和自己现在所从事的职业的思考.
| 我要写评论 |
| 查看所有评论交流(共29条) |

点击看大图







加载中...