鑒于Java社群不時(shí)的也應(yīng)該了解一下對(duì)手的信息作為參考,我將自己在博客園的一篇隨筆摘錄如下:
原文見:
http://www.cnblogs.com/sean/archive/2005/03/15/119341.html 供參考的文章:
孟巖-.NET面臨信任危機(jī),根源在于目標(biāo)模糊
http://blog.csdn.net/myan/archive/2005/03/15/319919.aspx獨(dú)裁是一種風(fēng)險(xiǎn)
http://blog.csdn.net/java_editor/archive/2005/03/15/320030.aspx劉如鴻-失去信心?還是再度迷惘
http://blog.csdn.net/liuruhong/archive/2005/03/16/320576.aspx 正文:
微
軟的.NET框架從誕生至今應(yīng)該有四年多了吧?這四年是怎樣的四年?微軟又在多大程度上達(dá)到了當(dāng)初所憧憬的美麗藍(lán)圖?我不敢說我對(duì).NET有多么深的了
解,但是我似乎越來越發(fā)現(xiàn)微軟已逐漸背離了最初的美好愿望,或者說,背離了早期力推.NET技術(shù)時(shí)在廣大開發(fā)人員中樹立的美好圖景?
通
常,一個(gè)好的點(diǎn)子,或者說一套先進(jìn)的想法,加上微軟這樣的公司,我們似乎沒有必要懷疑它的成功。我們傾向于這樣看待微軟的產(chǎn)品:成功只是遲早的問題,或
者,就算最終計(jì)劃落空,你也不用太傷心,有那么大一個(gè)軟件帝國墊背。于是,很多人在左右為難的時(shí)候,選擇了微軟的產(chǎn)品和技術(shù)路線。.NET更是被微軟戴上
了前所未有、鮮艷奪目的光環(huán),我們從各種渠道聽到這樣的聲音:.NET是微軟的未來,是微軟面向未來至少十年的技術(shù);要跟著微軟,就要學(xué)習(xí).NET,使
用.NET;.NET讓你的代碼更加安全;未來的微軟產(chǎn)品線都會(huì)依賴于.NET技術(shù)。Bill
Gates這次確實(shí)是認(rèn)真的:.NET是微軟的遠(yuǎn)大理想,是微軟無論如何都要達(dá)到的目標(biāo)。
平心而論,.NET的核心思想是很不錯(cuò)的,從
CLR和IL的設(shè)計(jì)上就能夠看得出來,在吸取了之前誕生的各種不同技術(shù)之精髓以后,又大膽的進(jìn)行創(chuàng)新,實(shí)用、易用為先,絕對(duì)有實(shí)力成為未來大部分計(jì)算機(jī)應(yīng)
用的統(tǒng)一平臺(tái),成為整合企業(yè)和個(gè)人現(xiàn)有應(yīng)用的絕佳框架。我相信大部分人在看到這些特點(diǎn)后都對(duì).NET的未來充滿希望。
然而最近不知從哪里
吹來一股子壞味道:微軟自己對(duì).NET的定位發(fā)生了變化嗎?還是說.NET本來就是個(gè)幌子?從微軟自己的角度,我們似乎到現(xiàn)在也沒有看到微軟的哪個(gè)重量級(jí)
產(chǎn)品和產(chǎn)品線是基于.NET的,幾乎都還是混血兒或者干脆就是貼牌而已,眾所期待的.NET操作系統(tǒng)Longhorn最終也放棄了
WinFS,讓人懷疑Longhorn還會(huì)不會(huì)是當(dāng)初微軟聲稱的樣子;從.NET基礎(chǔ)庫來看,似乎有相當(dāng)一部分API只是對(duì)原有API的簡單包裝,原有的
優(yōu)勢(shì)還在,bug也還在;從我們常見的代碼來看,似乎到處都還充斥著[DllImport]這樣的標(biāo)簽,是我們的程序員們懷舊嗎?我還記得很早以前就有人
提出了對(duì).NET的反感,當(dāng)時(shí)我不以為然,現(xiàn)在似乎也有些理解了。其中有一個(gè)大家普遍覺得不太滿意的地方就是:為什么以前不超過100K的程序?yàn)榱艘?
NET,就必須讓客戶端下載安裝25MB之巨的.NET環(huán)境呢?
我本人雖然是做Java出身,對(duì).NET技術(shù)本身還是很感興趣,也是支持
的,但是對(duì)微軟的有些做法有些不解:這是在給開發(fā)人員怎樣的信息呢?.NET不可靠了嗎?也許我們應(yīng)該這樣想:.NET絕對(duì)不是微軟的全部,也不可能解決
所有編程問題。誠然。但是.NET不就是為了解決大部分常見的編程問題嗎?既然提供了這種便利和安全性,為什么自己都不廣泛采用呢?感覺是:微軟有一個(gè)很
好的起點(diǎn)和一個(gè)遠(yuǎn)大的目標(biāo),但是為了照顧到所有Windows平臺(tái)的既得利益者,或者說保護(hù)Windows這一商標(biāo)的既得利益,.NET變得越來越雜,越
來越畸形,大概需要靜下來好好整理一下了吧?
在.NET的圈內(nèi)圈外都有不少觀望的人:圈內(nèi)的人在觀望.NET是不是將要淪為一種粘合劑而
不是以一代多的統(tǒng)一平臺(tái)?.NET真的只是吸引開發(fā)人員到
Windows平臺(tái)的幌子嗎?圈外的人在觀望.NET到底是不是微軟未來絕對(duì)的主力軍?是不是他們應(yīng)該定下的下一個(gè)學(xué)習(xí)目標(biāo)去投資呢?其實(shí)讓這一大群人安
心的最佳途徑也許是微軟出面構(gòu)建一套完全基于.NET的像模像樣的大型軟件產(chǎn)品(最好是桌面應(yīng)用),但是微軟準(zhǔn)備這樣做嗎?我不知道,但是很懷疑。對(duì)于微
軟來說,也許他們不言而喻的一個(gè)心理底線就是:不論技術(shù)如何進(jìn)步,如何創(chuàng)新,都不能動(dòng)搖Windows和Office在操作系統(tǒng)市場(chǎng)上現(xiàn)有的地位。
.NET,你可真是讓人歡喜讓人憂啊。
/* -- 以下添加于北京時(shí)間2005年3月19日16時(shí) -- */
通過這兩天從不同渠道了解到的信息,我想我原先對(duì).NET的認(rèn)識(shí)和理解是有偏差的,至少是有些過時(shí)或者偏頗的。下面這一篇選自MSDN,是很好的一篇文章,相信可以說清楚很多在我的這篇隨筆中的疑問:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnreal/html/realworld06012004.asp
也許是我的Java背景,我傾向于從虛擬機(jī)和平臺(tái)中立的角度去看待.NET,或者說,我希望.NET是這樣的一個(gè)框架。但是事實(shí)上,.NET也許從來就沒
有打算要100%的平臺(tái)中立,甚至它在很大程度上、在未來很長一段時(shí)間之內(nèi)還需要依賴原有的COM和Win32
API,它更是一個(gè)runtime而非VM,它是打算在Windows平臺(tái)上增加另一個(gè)有價(jià)值的抽象,使我們針對(duì)Windows的編程變得前所未有的容
易。
(在這篇MSDN文章之外需要補(bǔ)充的是:近兩年SUN也傾向于把自己的虛擬機(jī)/運(yùn)行時(shí)叫做JRE – Java Runtime Environment,尤其是推出HotSpot技術(shù)以后,Java程序會(huì)被動(dòng)態(tài)分析和部分編譯成本地代碼執(zhí)行。)
但是這正說明了一種我也許無法接受的微軟作風(fēng):想當(dāng)年,微軟何其鄭重其事的將.NET
Framework的一個(gè)子集:JScript、C#和CLI,注意,是CLI不是CLR,拿到ECMA去申請(qǐng)標(biāo)準(zhǔn)化,多么開放的姿態(tài)。(也許正是微軟這
個(gè)舉動(dòng)讓我誤以為.NET會(huì)平臺(tái)中立吧。)如今,MONO項(xiàng)目已經(jīng)說明不了什么了,或者說,已經(jīng)沒有什么說服力,這些標(biāo)準(zhǔn)化的進(jìn)程又帶來了多大的技術(shù)上的
進(jìn)步和創(chuàng)新?
在我看來,開放的姿態(tài)對(duì)于一個(gè)大型的框架/技術(shù)的發(fā)展和完善而言是相當(dāng)有好處的,但是由于微軟對(duì)的.NET的絕對(duì)控制,.NET走的是跟Java截然不同的路線,這對(duì)我來說是一種無奈。
最近,另外一種現(xiàn)象也引起了廣泛的關(guān)注:那就是微軟在.NET社群已經(jīng)有了相對(duì)成熟的Log4NET、NAnt、NUnit、Spring.NET、
NHibernate等等工具/框架之后,準(zhǔn)備推出自己的一套東西并集成進(jìn)Visual Studio
.NET,這也許會(huì)引起一些人的不滿,不過也許就像 I坐標(biāo) 所說,這個(gè)是微軟的本性。
對(duì)于開發(fā)人員來講,我們當(dāng)然會(huì)在一定程度上有選擇的自由,每個(gè)人對(duì).NET,對(duì)微軟,乃至對(duì)C++,對(duì)Java等等也有不同的看法,一旦選定了自己的方向
和對(duì)策,就一如既往的堅(jiān)持走下去吧,不要被包括我在內(nèi)的許多人和媒體的“片面之辭”蒙蔽了雙眼。對(duì)于這些觀點(diǎn)、看法,大家有選擇看和不看的自由,也有選擇
信與不信的自由,信息社會(huì)嘛,就是這么簡單。
還是那句話,我認(rèn)為.NET和Java兩個(gè)社群需要多多交流,相互學(xué)習(xí),而不是言語上的相互攻擊和對(duì)立。唯有虛心的、對(duì)事不對(duì)人的態(tài)度和探討才有價(jià)值。