中青在线版权与免责声明:
   在接受本网站服务之前,请务必仔细阅读下列条款并同意本声明。 1. 凡本网注明"来源:中青在线或中国青年报"的所有作品,版权均属于中青在线或中国青年报社,未经本网授权,不得转载、摘编或以其它方式使用上述作品。 2. 本网授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,中青在线将追究其相关法律责任。 3. 凡本网注明“来源:XXX(非中青在线)”的作品,均转载自其它媒体,转载的目的在于传递更多信息, 并不代表本网赞同其观点和对其真实性负责。 4. 本网站文章仅代表作者本人的观点,不代表本网站的观点和看法,与本网站立场无关,文责作者自负。 5. 如因作品内容、版权和其它问题需要联系的,请在30日内与本网联系。

2011年12月28日 星期三
中青在线

少壮不努力,老大写程序

本报记者 李斐然 《 中国青年报 》( 2011年12月28日   11 版)

    一家美国软件公司的成员正围坐在办公桌前,愁眉苦脸地对着笔记本电脑,数落着软件Chandler所遇到的问题。突然,一个高个子、身穿蓝色外套的人推门而入,竟然是2000年竞选美国总统的戈尔!

    灰头土脸的程序员们看着神采奕奕的前任副总统,惊讶得一动不动,倒是一只偷偷溜进来的小狗欢快地摇着尾巴。这让应邀为程序员鼓劲儿的戈尔有点不知所措。他高声夸赞了一句“继续努力!你们正在改变世界”,随即逃跑似的离开了。

    别看戈尔看似随口一说,却命中了程序员的理想靶心。20多年,乔布斯游说百事可乐首席执行官加入苹果公司用的也是这招儿:“你是愿意卖一辈子甜汽水呢,还是跟我一起改变世界?”

    以0和1为基础的代码就像咒语一样迷得程序员神魂颠倒。抱着改变世界的伟大理想,每个学习编程的新手接触的第一个程序通常都是“Hello World”——输入一系列代码,召唤计算机,命令它打印出这两个词。

    这个程序其实一点用也没有,却可以唤起程序员的英雄主义乐观精神——瞧,我能叫机器说话,将来我能让它做任何事情!那种感觉像是诗人研好了墨,提笔准备在空白的稿纸上写下第一行诗句,等着瞧吧,传世之作就要诞生了。

    千万别告诉这位诗人,他每写完一行诗,就要花成倍的时间从里面挑错字。编码只占软件项目开发时间的1/6,剩下的一半时间,都花在测试和修正缺陷上面了。

    就算你去了软件帝国,照样要经历这些。在一连串病毒事件后,微软公司从2003年开始停止了所有新的大产品开发,编程人员转而投入到修正安全漏洞的工作上。

    漫漫代码路,绝望特别多,这还只是其中之一。美国工程师布瑞切尔曾经加入了为美国联邦航空管理局(简称FAA)搭建先进自动系统的开发团队。这个项目1981年启动,历时13年,耗资几十亿美元。最后得出的结论是:“这套软件没人写得出来。”

    视代码为命的程序员们被击败了,打败他们的不是工作负担,而是对于软件极限的挫败感。天生乐观的程序员总是相信,世上会有人失败,但那个人不是我。

    可惜,这次还真是你。开头提到的那群开发软件Chandler的24个程序员,花了三年研发软件,修正了4732个漏洞,依然无果。他们的故事被写进书里,叫做《梦断代码》。

    没办法,并非人类厨艺不佳,而是现实胃口太好。从孩子的玩具到大人的汽车,从商业和银行到医疗和国防——人类对软件的依赖像坐上火箭一样以指数级增长,但做软件的技能却像裹着小脚的老太太一样缓慢挪动。

    不幸总是相似的:一群激情燃烧的程序员挥舞着手臂冲向棘手的难题,发誓能够改变世界,后来,他们遇上了不靠谱的管理者,老是改主意的客户,不断变换的需求,以及最要命的,半成品里挑不完的漏洞。

    最后,大大小小的问题把这些技术工作者推向死胡同。在他们背后,会计师和律师摇着头收拾残局,脸上表情似乎在说:“我就知道,你们每次都这样。”

    在FAA的这场“可能是有组织工作史上最严重的崩溃事件”中,许多程序员崩溃了,有人砸烂自己的汽车,有人亲手了结自己的生命,一位项目经理靠吃纸来平复内心的挫败感。

    其实早在1949年,计算机先驱莫瑞斯·威尔克斯拖着打孔纸,带上楼装载程序的时候就预料到了这种未来:“我强烈地意识到,生命中剩下的好日子,都要耗费在给自己的程序找错误上头了。”

    没错,这就是事实,就像编程界经典教科书上所写的“软件难做”。 我有一位同学很发奋,当上了某网站的产品经理。每当有人给他报错,他就会面不改色地咬着牙冷冷甩出一句程序员口头禅:“这不是漏洞,而是特色。”

    《梦断代码》

    [美]斯科特·罗森堡著 韩磊译

    电子工业出版社

分享到:
替曹操发个寻人帖
少壮不努力,老大写程序
最古老木乃伊的诅咒
知新