[序言]我想很多愛好軟件編程的網友都像我一樣,對微軟推出的.net平台充滿了好奇,但是看了相關的文檔也是一頭霧水,還好,Purple很幸運在QQ上遇到了一位.net高手,經過高手的一番教導,Purple已經對.net了解到了些皮毛,雖然很少,但是對進一步認識.net是很有幫助的。有興趣了解.net的朋友,不妨看看下面的這段“關於.net的精彩對話”。
開始:
Purple:
我對.net沒有什麼概念!
Darkroad:
給你一個現場辦的培訓:Java知不知道?
Purple:
知道。
Darkroad:
當年Sun推出Java力圖一統江山,微軟又怎能忍得下這口氣?
Purple:
java是一個編程工具。
Darkroad:
是一門跨平台語言。Sun的意圖就是大家都使用Java,這正是觸動了微軟的利益。因為微軟最希望看到的是大家都基於Windows系統。問題是win當年的性能、穩固性、安全性都不行,所以只能應用於小規模的系統。
Purple:
那vb,vc不是很好用嗎?
Darkroad:
對,只是vb、vc只能在windows上編程。
絕大多數的規模應用,例如銀行、航空、企業ERP,莫不是基於Sun的Oracle+C++或IBM的DB2+C++,又或者HP的系統。可是隨著軟硬件體系的發展,Microsoft/Intel平台越來越有實力了。
企業內的多種應用系統並存的現狀,又將系統間的互通提到了一個重要位置。而這個時候,Internet時代到來,這種互通范圍更加廣泛了,甚至有可能是公司與公司之間,國與國之間的互通。
Sun Java的跨平台性恰恰具備了這個優勢,另外,世界上更有無數使用Java編成的程序員,數量決不在微軟的開發工具之下。
而微軟為了對抗Java,也使出了本地化Java的絕招,就是讓Java在Windows上的版本與Sun的版本不兼容。這當然惹怒了Sun,於是Sun就將Microsoft告上法庭。最後微軟放棄了對最新版Java的支持。
Purple:
這麼復雜?
Darkroad:
另外,一批以Java做為基礎的中間件(應用層)供應商迅速崛起,他們的目標就是建立企業間應用的標准接口。
微軟當然不會沒有看到著生死存亡的威脅,本地化Java,甚至放棄支持Java,其實都是其緩兵之計。
Purple:
那怎麼辦?
Darkroad:
微軟一方面施計拖住Java平台拓展,另一方面,勵心圖治,埋頭苦干。在推出了Visual Studio 97後五年內,一直沒有拿出新的開發工具和應用解決方案。而其競爭對手之一,當年大名鼎鼎的Borland公司,也就是現在的Inspire公司,一到兩年就推出一些新版的工具。
Purple:
呵呵
Darkroad:
可見微軟為了創建一套驚人的解決方案,已經決定徹底的革新自身。
在2000年微軟推出了.Net的alpha版和beta1版,在2001推出了beta2和beta3版,直到2002年推出最終版。每一版與前版都存在巨大的改進,其中無數的程序員系統專家都參與其中,提出改進建議。這在微軟開發史上是少見的。
Purple:
我知道了,.net就是和java 差不多的。
Darkroad:
非也非也,差得很遠!
Purple:
有什麼區別?
Darkroad:
Sun的Java方案時使用一種語言,一套平台一統天下,號召程序員們,最後最好都轉到Java平台上,使用一種語言開發,可以在任意平台上運行。因此Sun的Java歸納了應用開發方面的主要接口,包括數據庫接口、圖形接口、界面接口、還有關於服務器並行運行以及調整性能的接口等等。
如果不是因為Java的運行速度較慢,說不定早兩三年他們的這一野心就已經實現了。
當年微軟正是因為在世界上最多人用的操作系統上,能夠提供速度最快的程序,才沒有優勢盡丟。當然另一個原因是有很多程序員已經習慣了使用其工具。
Purple:
你直接講就可以了!
Darkroad:
你不是想了解.net嗎?
Purple:
想!我知道了.net比java功能更強大。
Darkroad:
哈哈,剛才不是說到Sun的Java像一統天下嗎?
微軟這次想到了一個更絕的招數。微軟認為,現今世界上已經存在了各種各樣存在巨大差異的應用系統。這種差異包括了系統方面的差異,例如使用了不同公司的產品;包括應用開發方面的差異,例如銀行與其他業務系統,甚至銀行與銀行內部間的差異。等等。關鍵在於找到一種大家都可以溝通的約定俗成的方式。
Sun是希望統一通過Java解決的,因為Java可以跨平台。可是世界上有這麼多應用不是使用Java開發的該怎麼辦?有這麼多程序員不熟悉Java該怎麼?
Purple:
不知道。
Darkroad:
微軟通過Internet巨大的傳播力量找到了答案。
微軟認為應用本身以什麼形式表達並不重要,不管你是使用Java還是使用VB。關鍵在於你如何找到對自己有用的應用,並識別對方的使用方法以及返回的信息,這才是最重要的!就像我想寫一個和招行的接口,我最關心的是招行如何幫我代收費,而其非如何編寫這個代收費系統。
Internet提供的方便的尋址,以及標准的數據格式和接口,正是可以借助的最大依據!
Purple:
internet?
Darkroad:
Yeah!
.Net是緊緊圍繞Internet為核心的。
.Net提出的概念中,WebService(萬維網服務)是最重要的之一。什麼叫做WebService?是指能夠提供一定功能,並且符合.Net接口標准的服務。例如招行的代收費系統,如果使用.Net的標准,提供了調用該應用的接口,並且使用了標准的數據返回格式,那就可以成為WebService。
Web Service並沒有強調使用什麼工具開發,既可以是Java也可以使vb/vc等等。
Purple:
oh!
Darkroad:
Sun想以Java一統天下,微軟偏偏使用開發性接口將Java納為自己體系中的一個部分,管你是Java還是VB還是什麼其它的東西,統統都是我的!
Purple:
這麼厲害!
Darkroad:
對呀!不過開始的時候,這當然是微軟的一廂情願了,如果沒有其它人的支持,微軟也是白做。Sun理所當然的抗拒這一系統,所以在Java陣營中,遲遲沒有定義好對於Web Service的支持。
話要說回來,微軟又有這麼多傳統程序員支持,就算它的理想不能實現,至少也可以保持自己的陣營不敗。
不過最決定性的是,IBM決定加入這個陣營!:)結果導致,Sun的抵制變成了一種落伍!這一點太致命了。
Purple:
那java沒有前途了。
Darkroad:
對呀!不過所幸,Java語言本身還是有很多愛好者的,另外他在中間件市場的優勢,也不會讓其衰落。
可是為什麼IBM會加入這一陣營呢?我想還是因為其開放性。其實IBM也看到了微軟的軟肋了。你想想,在Web Service中我可以不使用Java,但我同樣也可以不使用你什麼vb/vc的,這豈不是找到了可以公平競爭的好機會了?
Purple:
真聰明!
Darkroad:
IBM不但要加入,而且要做老大,現在不是正可以借助這個機會大大擴充一下自己的實例嗎?IBM才不想讓Sun一家獨大,踩住自己的命門。另外,IBM也是最大的中間件供應商之一,.Net體系是能夠讓其迅速發展的機遇之一。
那微軟呢?當然非常清楚這一點,但是他們也有信心在自己推出的體系中取得長足的優勢!因為VS.NET Studio中提供的VB.NET,C#.NET,還有ASP.NET,ADO.NET無一不是圍繞其中進行優化,正所謂藝高人膽大嘛!
哈哈,看來IBM和微軟是各懷鬼胎了。
最慘的就是Sun了,這次算是輸了半招。當然看清形勢後,他們也在迅速的拓展其Java平台,以便能夠搭上這次.Net的快車。