`

<<More Joel on Software>> 膨胀软件与80/20的谣传

 
阅读更多

作者: 周思博 (Joel Spolsky) 译: Bo Yang 编辑: Wenjing Jiang 2001年3月23日


1993年,微软公司的电子表格软件Excel 5.0出版了。它是一个巨大的软件,需要15兆的硬盘空间。当年我们还记得最早上市(1985年左右)的PC硬盘只有20兆,所以15兆显得很多。

 

等到Excel 2000出版的时候,它竟需要146兆的硬盘空间,几乎增长到1993年的十倍!微软公司的程序员真是差劲,对不对?


不对。


我敢打赌,你以为我要写一篇令人厌烦的,批评膨胀软件的文章。这种文章因特网上到处都是。批一批,怨一怨,这些庞大臃肿的软件,令我讨厌,还是vi和edlin比Microsoft Word与Emacs强多了,因为前两者很小巧灵活...

 

哈哈,把你蒙了!我才不会去写一篇那样的文章呢,因为那种说法根本不对。


1993年,根据当时硬盘的价格,Microsoft Excel 5.0占用了$36元的硬盘空间。

 

2000年,根据当时硬盘的价格,Microsoft Excel 2000占用了$1.03元的硬盘空间。

 

(这些数字是根据此处的硬盘历史价格数据计算的,以把通货膨胀的效果算进去了。)


从实际经济角度出发,Excel好像变小了!

 

说真格的,什么叫膨胀软件?Jargon File把它嘲贬地定义为:“提供最低等的功能,同时占用不成比例的磁盘与内存空间的软件。特别是形容应用软件与操作系统升级来用的。此词在Windows/NT上是常见的,Windows/NT也是它的来源。”

 

我猜这帮人只不过是恨Windows而已。自从虚拟内存在Windows 386(1989年)上出现后,我已经有十多年没有把内存用完过了。再说硬盘价格已经降到$0.0071元一兆,而且越降越快。

 

 

也许Linus Åkerlund能把这个问题解释清楚。他在他的网页 上写道:“这些膨胀软件的一个大缺点,就是即使你只想干一件很小的事,你也要负载这个很大的程序。它把你的内存全用掉了…你不是很有效地利用你的系统。它毫无必要地把你系统的效率弄得很低。”

 


我明白了,原来它把你的内存都用完了。嗯,不对。自从Windows 1.0在1988年出版以后,操作系统只把用到的代码页放在内存中。如果你有一个15兆的可执行文件,但运行时只用到两兆的代码页,操作系统就只把这两兆 从磁盘装入内存中。而且如果你用的是比较现代版的Windows的话,操作系统还会自动调整硬盘,把这两兆代码页放在一起,使程序起动得更快。

 

 


我想没有人会否定,在今天强大而便宜的计算机上,起动一个大程序比仅仅五年前起动一个小程序还要快。那么那些人在瞎叫唤什么呢?

 


RA Downes给了我们一个提示。看起来他花了几个钟头,把Microsoft的一个小程序研究了一通,而且因为这个程序有一兆大小,令他十分气愤(他写那 篇文章,一兆硬盘只值3.15分)。以他看来,那个程序应该小下去95%才对。可笑的是,他研究的那个程序叫做RegClean,你很可能没听说过。它的 作用,是把Windows registry中没用的东西找出来删掉。如果你整天为Windows registry中没用的东西担心的话,你性格上很可能有为事物着迷,难以克制的弱点。所以我怀疑批判膨胀软件是精神病 的体现,不是软件问题。

 

 

 

实际上讲,膨胀软件的存在是有道理的。最起码的,如果程序员不用担心软件的大小,那么软件就可以早点出版。用户可以早点得到更多的功能。这 些功能用时有益,不用时无害。假如你的软件商在出版软件之前,花两个月的时间,把它的软件缩小50%,这对你的实际好处来说,几乎是感觉不到。也许,你的 硬盘要是快满了的话,你可以多下载一首MP3歌曲。可是你多花两个月的时间,等新软件出版的损失,你就感觉得到了。而且你的软件商会丢掉两个月的销售额, 损失更大。

 

 

 


很多搞软件开发的人,被"80/20"的老规律引诱了。这个规律好像很有道理:80%的人只用20%的功能。所以你以为,只要实现20%的功能,就能得到80%的销售量。

 


不幸的是,那从不是同样的20%。每个人都用到不同的功能。再过去十年中,我大概听说过几十家公司,下定决心不互相吸取教训,企图出版“轻形”版本,只有 20%的功能的文字处理软件。大多数情况是,他们把软件送到记者哪里去评论,那些记者评论的方法,就是用这个新的文字处理软件去写他们的评论文章。文章写 完了,记者就要用到“字数”这个功能了,因为大多数记者写文章时有明确的字数限制。可是“字数”这个功能在软件里却找不到,因为它是属于“没人用的 80%”里面。结果记者就会写一篇文章,一方面说着这个“轻形” 软件怎么怎么好,膨胀软件怎么怎么糟,另一方面又说我不能用这个软件,因为它没有“字数”这个功能。而且这种文章 经常有人写。

 

 

 

 

当你去推销你的“轻形” 软件时,你跟人家说:“嗨,这个软件很小巧,只有一兆。” 人家听了一般都很高兴,然后就会问你有没有对于他们来说很重要的功能,要是没有,就不会买你的软件。

 

基本概要是:如果你的战略是“80/20”,你就很难卖出你的软件。事实就是这样。这个战略自从软件工业开始时就有,从来没有胜利过。令人吃惊的是,很多倒闭了的公司的高级主管还觉得它是个好的主意。

 

Jamie Zawinski 在讨论改变世界的首版Netscape时讲得最好:“Mozilla [Netscape 1.0]很大并不是因为里面全是没用的东西(如果真是那样,解释起来倒很方便)。Mozilla很大,是因为你的需要很大。你的需要很大,是因为因特网是 个很大的东西。网上有很多小型的浏览器,说起来基本上是没用的。我们当初写Mozilla的时候,从未想把它做成一颗完美无缺的明珠。”

 

分享到:
评论

相关推荐

    More Joel on software

    美国著名程序员Joel Spolsky关于软件管理和技术公司管理精辟论述,读来受益匪浅,特别是其中给大学计算机系学生的建议。

    More Joel on Software

    Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work ...

    Apress.More.Joel.on.Software.Jun.2008.pdf

    《More Joel on Software》是Joel Spolsky的著作,由Apress出版社于2008年出版。这本书深入探讨了软件开发、设计与管理领域的多样性和相关问题,旨在为软件开发者、设计师、经理以及与他们合作的人士提供有价值的...

    软件随想录 - More Joel on Software

    《软件随想录 - More Joel on Software》是乔尔·斯波斯基(Joel Spolsky)的一本经典著作,他是一位知名的软件开发者、企业家和博客作者。这本书汇集了他在软件开发、团队管理、产品设计等多个领域的深入思考和经验...

    Joel on Software[English Version] .rar

    《Joel on Software》是由Joel Spolsky撰写的一部软件开发领域的经典著作,英文版电子书以.chm(Microsoft Compiled HTML Help)格式提供。这本书深入探讨了软件开发的各个方面,包括项目管理、团队协作、编程实践...

    Joel on Software

    《Joel on Software》是由Joel Spolsky撰写的一本著名IT著作,主要涵盖了软件开发、团队管理、软件工程以及互联网行业的多个重要方面。这本书以其深入浅出的讲解和实战经验分享,深受程序员、项目经理和技术领导者们...

    Joel On Software

    Joel On Software 大家都知道这个东西哈。挺不错的

    软件随想录(英文版) - More Joel on Software

    根据提供的文件信息,我们可以推断出这是一本关于软件开发、设计与管理的书籍,作者是Joel Spolsky。本书包含了对各种与软件开发者、设计师及管理者相关的议题的深入探讨,同时也为那些与这些专业人士合作的人提供了...

    Joel说软件

    根据提供的文件内容,可以看出这是一篇关于Joel Spolsky和他的网站Joel on Software的文章,但文本中包含了大量的乱码和非中文字符,这可能是由于编码错误或原文本的特殊处理造成的。尽管如此,我们仍然可以从有限的...

    软件随想录:程序员部落酋长Joel谈软件

    ### 软件随想录:程序员部落酋长Joel谈软件 #### 一、书籍简介与背景 《软件随想录》是一本由Joel Spolsky所著的著作,该书以其深刻的见解和独特的视角在全球范围内影响了无数程序员。Joel Spolsky是一位在软件...

    Joel_Spolsky对计算机学生的七大建议

    ### Joel_Spolsky对计算机学生的七大建议 #### 第一大建议:毕业前练好写作技巧 Joel Spolsky强调,对于计算机专业的学生而言,掌握优秀的写作技能是至关重要的。他通过举例说明了这一观点: - **Linus Torvalds*...

    软件随想录—— 程序员部落酋长 Joel 谈软件

    本书是一部关于软件技术、人才、创业和企业管理的随想文集,作者以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓...本书从不同侧面满足了软件开发人员、设计人员、管理人员及从事软件相关工作的人员的学习与工作需要。

    joel 软件随想录

    软件大牛再出新书。相信第一本joel说软件 你也看了 想必收获不少 这本也不能错过

    The Best Software Writing I

    根据提供的文件信息,我们可以推断出这是一本关于软件写作的书籍,名为《The Best Software Writing I》,由Joel Spolsky编辑选择并作序。虽然我们没有完整的书籍内容,但可以通过标题、描述以及部分版权页的信息来...

    js > swfobject.js 使用

    &lt;script type="text/javascript" src="path/to/swfobject.js"&gt;&lt;/script&gt; ``` 2. **准备Flash内容** 创建一个HTML元素(通常是`&lt;div&gt;`),作为Flash内容将要插入的位置。同时,设置一个ID以便于后续引用。 ```html...

Global site tag (gtag.js) - Google Analytics