Famous software theory in a lab(转载)
今天在未名上看到的好文,经典。很郁闷的发现我也快变成这样了。中国的科研啊……
标 题: famous software theory in a lab(zz)
发信站: 北大未名站 (2005年01月26日19:58:33 星期三), 转信
假设有个人口渴了想找个东西喝水,于是软件工程师去跟他接触,得出结论,他需
要做一个容器盛水喝。“需要一个可以装水来喝的容器”,就是需求。需求是可变
的,因为有的无厘头工程师会让这人直接对着水龙头喝。
平白无故要弄个容器让人无所适从,于是google,发现商朝有人做过鼎,后来唐朝
又有人造过夜光杯……这些是大牛的作品,还留下了一些竹简纸帛让人瞻仰,我们
不能搞这么复杂,再加上以前实验室还做过饭碗,技术多少有点相通,于是发现做
个杯子似乎不是那么难,只要加个把就OK了。这些找来的资料后来被放到论文里,
变成了“研究背景”。附加的那个把,就是“创新点”。
啊,做个杯子。功能很简单,结果一开始做出的是个带把的饭碗,老板们称之为“
原型系统”。
带把饭碗的好处是用它也基本上能喝水了,但是喝的时候总感觉不爽,不是饭碗里
有瑕疵就是把子粘得不牢靠,于是老板又吆喝人开始改造这个饭碗,几个研究生拿
着很先进的锉子和高档胶水对饭碗修修补补。总有人一不小心把饭碗锉了一个洞出
来,漏水没关系,马上会有胶水加补丁贴上去,然后再交给实验室不善于锉杯子的
师妹们来装水喝做测试,喝起来水里一股胶水味……于是又开始添加清新剂,结果
又导致蚂蚁喜欢上了这个杯子……虽然总会有源源不断的问题冒出来,但是毕竟每
,证明我们的工作没有白费。
于是饭碗最后变成了一个打满补丁的杯子,外面裹上一层花衣裳就可以拿出去给那
个人喝水了,不幸的是,那个人基本上已经快要渴死了。这无外乎是每个项目的结
局,或者运气更好一点,在那个人渴死之前,杯子送到了他手里,他连水带蚂蚁一
起喝了下去,这时候软件工程师开始想:或许这个时候应该来一次”refactor“了
,但也仅仅是想一想而已,谁也不会去做。