阅读作业2 By 胡仁君
文中提到《大教堂与集市》一书预测了瀑布模型和大型软件公司的终结。关于瀑布模型我在百度百科搜到如下资料:
1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”。瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。在开发过程中,如果有信息未被覆盖或者发现了问题,那么开发人员返回上一阶段并进行适当的修改,项目开发进程从一个阶段“流动到”另一个阶段。
这些阶段包括制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六个基本活动。瀑布模型规定了它们各自自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。因此以瀑布模型作为开发模型软件开发活动,其功能的实现与设计是分开的,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
可以看出瀑布模型的开发流程走的是全面、规范的道路,注意到“教堂集市”一书将它和大型软件公司放在一起,大抵瀑布与公司就是IT/CS世界中的教堂。此时一个问题被放到桌面上来:教堂崩塌与否,现实和书中的预言能否走向同一个地方?
要解决这个问题,必须提到.COM时代。在互联网高速发展的十年中,IT/CS行业的增长量达到100倍,IT领域的扩张使更多的人涌向这个行业,但是这些人的水平达到行业要求的却寥寥无几。因此在这段时间出现的大量IT产品带着两个深入骨髓的标签——开源与水平参差不齐。前者是时代的特色,后者是由从业者的职业素养使然。
着眼点不同,对那个时代产物的评价也大相径庭。当人们认为开源带来的代码重用的收益超过代码本身的质量问题时,对它的评价往往是正面的;但是当人们开始关注代码质量时,开源代码中质量到达要求的仅仅是很小的一部分,再考虑功能匹配的问题,更多的人宁愿选择自己写一个新的,他们对这些开源代码的评价可想而知。
显然文章作者保尔是站在第二种人的立场上看待这个问题的,他以Unix为例,不难得到这样一个结论——整个.COM时代总体上对IT/CS而言就是一场灾难,尤其对软件质量和Unix来说。从他的角度来看,教堂没有倒,倒是那些集市仅剩下砂石瓦砾。
这个问题在我看来,“教堂”一书和保尔的观点都有点偏激和片面。“教堂”得到的瀑布和大型软件公司终结的结论是因为它站在了Web应用的立场上,而保尔的结论是基于Unix得出的。但是IT哪怕是在.COM发展最如火如荼的年代也并不是只有Web应用,当然也不能只有Unix。
不妨认为两位学者的研究成果在他们各自的前提下都是正确的(事实上他们的结论在一定范围内确实很有说服力),那现在IT界的现状应该是教堂和市集并存,这正是一个人间!
站在一个更加抽象的角度上,这是一场开源与商业化软件的博弈,凭直觉看这两者是谁都不能战胜谁的。可能更多的人会提倡开源,但是一个无利润的项目,它的质量是得不到保证的,Linux的成功只是一个特例,很难说没有那些商业操作系统也一定会有Linux。