何以解軟件業之困局

發表于:2008-02-20來源:作者:點擊數: 標簽:軟件業
計算機硬件發展遠遠超過軟件,這是目前 IT 界的共識。硬件不僅 性能 遠在軟件之上,而且其設計、生產和流通方式也比軟件先進得多。軟件最不令人滿意的就是操作系統,特別是PC 操作系統,龐大復雜、啟動笨拙、運行不穩、易受攻擊、更新奇慢、價格昂貴,幾乎集
計算機硬件發展遠遠超過軟件,這是目前 IT 界的共識。硬件不僅性能遠在軟件之上,而且其設計、生產和流通方式也比軟件先進得多。軟件最不令人滿意的就是操作系統,特別是PC 操作系統,龐大復雜、啟動笨拙、運行不穩、易受攻擊、更新奇慢、價格昂貴,幾乎集所有缺陷于一身。應用系統也不能令人滿意。大大小小的軟件公司數不勝數,搞出來的東西千篇一律,而且很多應用不是越搞越精致,而是越來越龐大,越來越難用。隨著軟件和硬件逐漸融合,這種混亂局面也被帶進硬件行業,例如手機的頻繁死機。用戶只知道這樣的手機很差,并不知道是劣質軟件在里面作怪。

  軟件和硬件的一個重要區別是其生產過程相對簡單,成本效率主要在設計過程。很多人都在推崇構件化軟件設計??梢钥吹胶芏鄷h、研討和論文都在關注構件化設計,讓人感到前景應該不錯。想來也是,如果軟件能像硬件那樣用構件來組裝,軟件業肯定不是現在這種局面。但為什么現實不是那樣呢?是技術問題還是別的什么障礙?構件技術的確還不成熟,但面向對象構件技術已經發展多年,已經有很多成熟構件被廣泛使用,并且顯著提高了編程效率,只是軟件還遠沒有形成硬件那樣的產業鏈:從零部件制造到產品組裝,應有盡有。只有少數公司推出商品化程序構件,罕見有公司依靠構件設計為生。我想,其中的最大障礙應該不是技術,而是軟件產品的流通方式。

  試想,假如你設計了一套流媒體編碼解碼構件,并且以此為基礎推出流媒體軟件產品,你將有成千上萬潛在客戶。但要是把這套構件賣給別的企業搞二次開發,你的客戶很可能不會超過十個。這樣,你只能期望賣出很高的單價,或是從你客戶的收入中提成。前者根本別指望,后者實際操作起來也很困難。要是微軟那樣的大牌公司有興趣,他們會直接買下你的公司,好把一切掌握在手中。小一點的公司或許會和你談條件,但談成的希望很小。層次更低的公司干脆買一套構件,然后復制 N 份嵌入自己的產品中。你很難象硬件那樣掌握零部件數量,也很難象軟件最終產品那樣靠加密和法律來控制拷貝。也就是說,軟件的流通方式在制約著構件的商品化交易,所以,大家一窩蜂都去搞最終產品,低層次重復開發,嚴重的資源浪費,軟件和硬件的差距越拉越大??磥?,要解軟件業困局,必須想法建立適合構件的流通方式。

  最容易想到的辦法是遠程調用,也就是把程序構件放在網絡服務器上,通過互聯網來調用。這樣,構件提供者銷售的不是程序代碼,而是計算服務。買方在自己的應用系統中通過遠程調用獲取計算服務。賣方則以某種方式來統計服務量(例如,可以按用戶數量或調用次數來統計),并獲得相應收益。這種遠程調用需要互聯網狀態良好才能順暢運行,而且不適于過頻和過密的訪問,因此其應用范圍很有限。

  另一種辦法是把軟件固件化,也就是把構件代碼保存在閃存這類非易失器件上,作為插件嵌入構件需求方的應用系統。這是真正意義上的插件,而不是軟件概念中的虛擬插件。當然,作為一種程序構件,應該有一種方法可以隨時插拔和靈活組合。例如,用類似 U 盤的器件作為接插底座,可以插入多個微型 ID 器件,每個 ID 器件保存一個獨立開發商的的程序構件代碼。其實,整個應用系統甚至操作系統都可以按這種方式來組合,外購插件只是其中一部分。也就是說,把計算機軟件全部預裝成固件,以插拔方式接入系統總線,在邏輯上形成有機的程序組合。對嵌入式系統來說,這應該是一種不錯的設計方案。甚至便攜式 PC 機也可以采用這種設計。

  這種方式的優點很明顯。構件開發商可以象硬件開發商那樣提供零部件,而不是提供任人宰割的程序代碼。無論是靠加密還是靠法律來保護,這種構件都可以象硬件那樣去操作,其產權保護比純軟件要容易得多,市場交易的難度也大大降低。不過,設計這樣的系統需要有成熟的硬件平臺,尚有很多問題需要探討。例如,一個軟件系統如果包含很多這樣的插件,很可能會出現接觸不良,導致系統不穩定??蛇x的解決方法是采用光電或無線接口這樣的非接觸式傳輸,但那樣會增大體積,同樣會限制插件數量。

  程序構件技術的大發展將使軟件業煥然一新,也會給整個信息技術帶來顛覆性變革。但是,如何才能促進這項令人神往的技術快速發展,需要業界深思??偟母杏X是,無論什么技術,只有具備了廣泛的可支付的市場需求,才能獲得強大的發展動力。程序構件技術也同樣如此。 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97