emu in blogjava

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            171 隨筆 :: 103 文章 :: 1052 評(píng)論 :: 2 Trackbacks
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          公告

          常用鏈接

          留言簿(92)

          隨筆分類(20)

          隨筆檔案(171)

          文章分類(89)

          文章檔案(103)

          相冊(cè)

          收藏夾(46)

          友情連接

          收藏

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          http://chinese.joelonsoftware.com/Articles/StrategyLetterIV.html

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


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

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

          等到Excel 2000出版的時(shí)候,它竟需要146兆的硬盤(pán)空間,幾乎增長(zhǎng)到1993年的十倍!微軟公司的程序員真是差勁,對(duì)不對(duì)?

          不對(duì)。

          我敢打賭,你以為我要寫(xiě)一篇令人厭煩的,批評(píng)膨脹軟件的文章。這種文章因特網(wǎng)上到處都是。批一批,怨一怨,這些龐大臃腫的軟件,令我討厭,還是vi和edlin比Microsoft Word與Emacs強(qiáng)多了,因?yàn)榍皟烧吆苄∏伸`活...

          哈哈,把你蒙了!我才不會(huì)去寫(xiě)一篇那樣的文章呢,因?yàn)槟欠N說(shuō)法根本不對(duì)。

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

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

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

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

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

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

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

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

          我想沒(méi)有人會(huì)否定,在今天強(qiáng)大而便宜的計(jì)算機(jī)上,起動(dòng)一個(gè)大程序比僅僅五年前起動(dòng)一個(gè)小程序還要快。那么那些人在瞎叫喚什么呢?

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

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

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

          不幸的是,那從不是同樣的20%。每個(gè)人都用到不同的功能。再過(guò)去十年中,我大概聽(tīng)說(shuō)過(guò)幾十家公司,下定決心不互相吸取教訓(xùn),企圖出版“輕形”版本,只有20%的功能的文字處理軟件。大多數(shù)情況是,他們把軟件送到記者哪里去評(píng)論,那些記者評(píng)論的方法,就是用這個(gè)新的文字處理軟件去寫(xiě)他們的評(píng)論文章。文章寫(xiě)完了,記者就要用到“字?jǐn)?shù)”這個(gè)功能了,因?yàn)榇蠖鄶?shù)記者寫(xiě)文章時(shí)有明確的字?jǐn)?shù)限制。可是“字?jǐn)?shù)”這個(gè)功能在軟件里卻找不到,因?yàn)樗菍儆凇皼](méi)人用的80%”里面。結(jié)果記者就會(huì)寫(xiě)一篇文章,一方面說(shuō)著這個(gè)“輕形” 軟件怎么怎么好,膨脹軟件怎么怎么糟,另一方面又說(shuō)我不能用這個(gè)軟件,因?yàn)樗鼪](méi)有“字?jǐn)?shù)”這個(gè)功能。而且這種文章 經(jīng)常有人寫(xiě)。

          當(dāng)你去推銷你的“輕形” 軟件時(shí),你跟人家說(shuō):“嗨,這個(gè)軟件很小巧,只有一兆。” 人家聽(tīng)了一般都很高興,然后就會(huì)問(wèn)你有沒(méi)有對(duì)于他們來(lái)說(shuō)很重要的功能,要是沒(méi)有,就不會(huì)買你的軟件。

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

          Jamie Zawinski 在討論改變世界的首版Netscape時(shí)講得最好:“Mozilla [Netscape 1.0]很大并不是因?yàn)槔锩嫒菦](méi)用的東西(如果真是那樣,解釋起來(lái)倒很方便)。Mozilla很大,是因?yàn)槟愕男枰艽蟆D愕男枰艽螅且驗(yàn)橐蛱鼐W(wǎng)是個(gè)很大的東西。網(wǎng)上有很多小型的瀏覽器,說(shuō)起來(lái)基本上是沒(méi)用的。我們當(dāng)初寫(xiě)Mozilla的時(shí)候,從未想把它做成一顆完美無(wú)缺的明珠。”



          本文最先用英文出版,題為 Strategy Letter IV: Bloatware and the 80/20 Myth??
          posted on 2006-08-08 10:38 emu 閱讀(321) 評(píng)論(0)  編輯  收藏 所屬分類: 項(xiàng)目開(kāi)發(fā)
          主站蜘蛛池模板: 宁晋县| 修水县| 姚安县| 临安市| 桓台县| 毕节市| 湖口县| 读书| 桐庐县| 郓城县| 望江县| 凌云县| 合川市| 常德市| 崇义县| 璧山县| 龙游县| 山西省| 兴和县| 沙河市| 遵义市| 嘉鱼县| 石狮市| 灵寿县| 花垣县| 迁安市| 民乐县| 寿宁县| 新宾| 信阳市| 永和县| 海丰县| 哈巴河县| 阳江市| 青铜峡市| 十堰市| 肇庆市| 中方县| 虞城县| 桂阳县| 沾益县|