emu in blogjava

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks
          http://chinese.joelonsoftware.com/Articles/StrategyLetterIV.html

          第四戰(zhàn)略篇:膨脹軟件與80/20的謠傳


          作者: 周思博 (Joel Spolsky)
          譯: Bo Yang
          編輯: Wenjing Jiang
          2001323

          1993年,微軟公司的電子表格軟件Excel 5.0出版了。它是一個巨大的軟件,需要15兆的硬盤空間。當(dāng)年我們還記得最早上市(1985年左右)的PC硬盤只有20兆,所以15兆顯得很多。

          等到Excel 2000出版的時候,它竟需要146兆的硬盤空間,幾乎增長到1993年的十倍!微軟公司的程序員真是差勁,對不對?

          不對。

          我敢打賭,你以為我要寫一篇令人厭煩的,批評膨脹軟件的文章。這種文章因特網(wǎng)上到處都是。批一批,怨一怨,這些龐大臃腫的軟件,令我討厭,還是vi和edlin比Microsoft Word與Emacs強多了,因為前兩者很小巧靈活...

          哈哈,把你蒙了!我才不會去寫一篇那樣的文章呢,因為那種說法根本不對。

          1993年,根據(jù)當(dāng)時硬盤的價格,Microsoft Excel 5.0占用了$36元的硬盤空間。

          2000年,根據(jù)當(dāng)時硬盤的價格,Microsoft Excel 2000占用了$1.03元的硬盤空間。

          (這些數(shù)字是根據(jù)此處的硬盤歷史價格數(shù)據(jù)計算的,以把通貨膨脹的效果算進(jìn)去了。)

          從實際經(jīng)濟(jì)角度出發(fā),Excel好像變小了!

          說真格的,什么叫膨脹軟件?Jargon File把它嘲貶地定義為:“提供最低等的功能,同時占用不成比例的磁盤與內(nèi)存空間的軟件。特別是形容應(yīng)用軟件與操作系統(tǒng)升級來用的。此詞在Windows/NT上是常見的,Windows/NT也是它的來源。”

          我猜這幫人只不過是恨Windows而已。自從虛擬內(nèi)存在Windows 386(1989年)上出現(xiàn)后,我已經(jīng)有十多年沒有把內(nèi)存用完過了。再說硬盤價格已經(jīng)降到$0.0071元一兆,而且越降越快。

          也許Linus ?kerlund能把這個問題解釋清楚。他在他的網(wǎng)頁 上寫道:“這些膨脹軟件的一個大缺點,就是即使你只想干一件很小的事,你也要負(fù)載這個很大的程序。它把你的內(nèi)存全用掉了…你不是很有效地利用你的系統(tǒng)。它毫無必要地把你系統(tǒng)的效率弄得很低。”

          我明白了,原來它把你的內(nèi)存都用完了。嗯,不對。自從Windows 1.0在1988年出版以后,操作系統(tǒng)只把用到的代碼頁放在內(nèi)存中。如果你有一個15兆的可執(zhí)行文件,但運行時只用到兩兆的代碼頁,操作系統(tǒng)就只把這兩兆從磁盤裝入內(nèi)存中。而且如果你用的是比較現(xiàn)代版的Windows的話,操作系統(tǒng)還會自動調(diào)整硬盤,把這兩兆代碼頁放在一起,使程序起動得更快。

          我想沒有人會否定,在今天強大而便宜的計算機上,起動一個大程序比僅僅五年前起動一個小程序還要快。那么那些人在瞎叫喚什么呢?

          RA Downes給了我們一個提示。看起來他花了幾個鐘頭,把Microsoft的一個小程序研究了一通,而且因為這個程序有一兆大小,令他十分氣憤(他寫那篇文章,一兆硬盤只值3.15分)。以他看來,那個程序應(yīng)該小下去95%才對。可笑的是,他研究的那個程序叫做RegClean,你很可能沒聽說過。它的作用,是把Windows registry中沒用的東西找出來刪掉。如果你整天為Windows registry中沒用的東西擔(dān)心的話,你性格上很可能有為事物著迷,難以克制的弱點。所以我懷疑批判膨脹軟件是精神病 的體現(xiàn),不是軟件問題。

          實際上講,膨脹軟件的存在是有道理的。最起碼的,如果程序員不用擔(dān)心軟件的大小,那么軟件就可以早點出版。用戶可以早點得到更多的功能。這些功能用時有益,不用時無害。假如你的軟件商在出版軟件之前,花兩個月的時間,把它的軟件縮小50%,這對你的實際好處來說,幾乎是感覺不到。也許,你的硬盤要是快滿了的話,你可以多下載一首MP3歌曲。可是你多花兩個月的時間,等新軟件出版的損失,你就感覺得到了。而且你的軟件商會丟掉兩個月的銷售額,損失更大。

          很多搞軟件開發(fā)的人,被"80/20"的老規(guī)律引誘了。這個規(guī)律好像很有道理:80%的人只用20%的功能。所以你以為,只要實現(xiàn)20%的功能,就能得到80%的銷售量。

          不幸的是,那從不是同樣的20%。每個人都用到不同的功能。再過去十年中,我大概聽說過幾十家公司,下定決心不互相吸取教訓(xùn),企圖出版“輕形”版本,只有20%的功能的文字處理軟件。大多數(shù)情況是,他們把軟件送到記者哪里去評論,那些記者評論的方法,就是用這個新的文字處理軟件去寫他們的評論文章。文章寫完了,記者就要用到“字?jǐn)?shù)”這個功能了,因為大多數(shù)記者寫文章時有明確的字?jǐn)?shù)限制。可是“字?jǐn)?shù)”這個功能在軟件里卻找不到,因為它是屬于“沒人用的80%”里面。結(jié)果記者就會寫一篇文章,一方面說著這個“輕形” 軟件怎么怎么好,膨脹軟件怎么怎么糟,另一方面又說我不能用這個軟件,因為它沒有“字?jǐn)?shù)”這個功能。而且這種文章 經(jīng)常有人寫。

          當(dāng)你去推銷你的“輕形” 軟件時,你跟人家說:“嗨,這個軟件很小巧,只有一兆。” 人家聽了一般都很高興,然后就會問你有沒有對于他們來說很重要的功能,要是沒有,就不會買你的軟件。

          基本概要是:如果你的戰(zhàn)略是“80/20”,你就很難賣出你的軟件。事實就是這樣。這個戰(zhàn)略自從軟件工業(yè)開始時就有,從來沒有勝利過。令人吃驚的是,很多倒閉了的公司的高級主管還覺得它是個好的主意。

          Jamie Zawinski 在討論改變世界的首版Netscape時講得最好:“Mozilla [Netscape 1.0]很大并不是因為里面全是沒用的東西(如果真是那樣,解釋起來倒很方便)。Mozilla很大,是因為你的需要很大。你的需要很大,是因為因特網(wǎng)是個很大的東西。網(wǎng)上有很多小型的瀏覽器,說起來基本上是沒用的。我們當(dāng)初寫Mozilla的時候,從未想把它做成一顆完美無缺的明珠。”



          本文最先用英文出版,題為 Strategy Letter IV: Bloatware and the 80/20 Myth??
          posted on 2006-08-08 10:38 emu 閱讀(319) 評論(0)  編輯  收藏 所屬分類: 項目開發(fā)
          主站蜘蛛池模板: 体育| 高州市| 桐庐县| 鲁甸县| 密云县| 城固县| 武义县| 永城市| 林周县| 澄城县| 怀来县| 军事| 黄大仙区| 遵化市| 桦甸市| 许昌市| 什邡市| 汉川市| 宜宾县| 深圳市| 巴彦县| 定边县| 浦北县| 五河县| 柞水县| 蒙自县| 白城市| 仲巴县| 建德市| 南郑县| 扬中市| 台山市| 平乡县| 武冈市| 图木舒克市| 岳阳市| 道孚县| 延边| 突泉县| 青田县| 铜鼓县|