Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4

          [轉自己的隨筆].NET, 想說愛你不容易

          Posted on 2005-03-16 00:59 laogao 閱讀(690) 評論(2)  編輯  收藏 所屬分類: ReadingThe Other Side

          鑒于Java社群不時的也應該了解一下對手的信息作為參考,我將自己在博客園的一篇隨筆摘錄如下:
          原文見:http://www.cnblogs.com/sean/archive/2005/03/15/119341.html

          供參考的文章:
          孟巖-.NET面臨信任危機,根源在于目標模糊http://blog.csdn.net/myan/archive/2005/03/15/319919.aspx
          獨裁是一種風險http://blog.csdn.net/java_editor/archive/2005/03/15/320030.aspx
          劉如鴻-失去信心?還是再度迷惘http://blog.csdn.net/liuruhong/archive/2005/03/16/320576.aspx

          正文:

          微 軟的.NET框架從誕生至今應該有四年多了吧?這四年是怎樣的四年?微軟又在多大程度上達到了當初所憧憬的美麗藍圖?我不敢說我對.NET有多么深的了 解,但是我似乎越來越發現微軟已逐漸背離了最初的美好愿望,或者說,背離了早期力推.NET技術時在廣大開發人員中樹立的美好圖景?

          通 常,一個好的點子,或者說一套先進的想法,加上微軟這樣的公司,我們似乎沒有必要懷疑它的成功。我們傾向于這樣看待微軟的產品:成功只是遲早的問題,或 者,就算最終計劃落空,你也不用太傷心,有那么大一個軟件帝國墊背。于是,很多人在左右為難的時候,選擇了微軟的產品和技術路線。.NET更是被微軟戴上 了前所未有、鮮艷奪目的光環,我們從各種渠道聽到這樣的聲音:.NET是微軟的未來,是微軟面向未來至少十年的技術;要跟著微軟,就要學習.NET,使 用.NET;.NET讓你的代碼更加安全;未來的微軟產品線都會依賴于.NET技術。Bill Gates這次確實是認真的:.NET是微軟的遠大理想,是微軟無論如何都要達到的目標。

          平心而論,.NET的核心思想是很不錯的,從 CLR和IL的設計上就能夠看得出來,在吸取了之前誕生的各種不同技術之精髓以后,又大膽的進行創新,實用、易用為先,絕對有實力成為未來大部分計算機應 用的統一平臺,成為整合企業和個人現有應用的絕佳框架。我相信大部分人在看到這些特點后都對.NET的未來充滿希望。

          然而最近不知從哪里 吹來一股子壞味道:微軟自己對.NET的定位發生了變化嗎?還是說.NET本來就是個幌子?從微軟自己的角度,我們似乎到現在也沒有看到微軟的哪個重量級 產品和產品線是基于.NET的,幾乎都還是混血兒或者干脆就是貼牌而已,眾所期待的.NET操作系統Longhorn最終也放棄了 WinFS,讓人懷疑Longhorn還會不會是當初微軟聲稱的樣子;從.NET基礎庫來看,似乎有相當一部分API只是對原有API的簡單包裝,原有的 優勢還在,bug也還在;從我們常見的代碼來看,似乎到處都還充斥著[DllImport]這樣的標簽,是我們的程序員們懷舊嗎?我還記得很早以前就有人 提出了對.NET的反感,當時我不以為然,現在似乎也有些理解了。其中有一個大家普遍覺得不太滿意的地方就是:為什么以前不超過100K的程序為了要用. NET,就必須讓客戶端下載安裝25MB之巨的.NET環境呢?

          我本人雖然是做Java出身,對.NET技術本身還是很感興趣,也是支持 的,但是對微軟的有些做法有些不解:這是在給開發人員怎樣的信息呢?.NET不可靠了嗎?也許我們應該這樣想:.NET絕對不是微軟的全部,也不可能解決 所有編程問題。誠然。但是.NET不就是為了解決大部分常見的編程問題嗎?既然提供了這種便利和安全性,為什么自己都不廣泛采用呢?感覺是:微軟有一個很 好的起點和一個遠大的目標,但是為了照顧到所有Windows平臺的既得利益者,或者說保護Windows這一商標的既得利益,.NET變得越來越雜,越 來越畸形,大概需要靜下來好好整理一下了吧?

          在.NET的圈內圈外都有不少觀望的人:圈內的人在觀望.NET是不是將要淪為一種粘合劑而 不是以一代多的統一平臺?.NET真的只是吸引開發人員到 Windows平臺的幌子嗎?圈外的人在觀望.NET到底是不是微軟未來絕對的主力軍?是不是他們應該定下的下一個學習目標去投資呢?其實讓這一大群人安 心的最佳途徑也許是微軟出面構建一套完全基于.NET的像模像樣的大型軟件產品(最好是桌面應用),但是微軟準備這樣做嗎?我不知道,但是很懷疑。對于微 軟來說,也許他們不言而喻的一個心理底線就是:不論技術如何進步,如何創新,都不能動搖Windows和Office在操作系統市場上現有的地位。

          .NET,你可真是讓人歡喜讓人憂啊。


          /* -- 以下添加于北京時間2005年3月19日16時 -- */

          通過這兩天從不同渠道了解到的信息,我想我原先對.NET的認識和理解是有偏差的,至少是有些過時或者偏頗的。下面這一篇選自MSDN,是很好的一篇文章,相信可以說清楚很多在我的這篇隨筆中的疑問:

          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnreal/html/realworld06012004.asp

          也許是我的Java背景,我傾向于從虛擬機和平臺中立的角度去看待.NET,或者說,我希望.NET是這樣的一個框架。但是事實上,.NET也許從來就沒 有打算要100%的平臺中立,甚至它在很大程度上、在未來很長一段時間之內還需要依賴原有的COM和Win32 API,它更是一個runtime而非VM,它是打算在Windows平臺上增加另一個有價值的抽象,使我們針對Windows的編程變得前所未有的容 易。

          (在這篇MSDN文章之外需要補充的是:近兩年SUN也傾向于把自己的虛擬機/運行時叫做JRE – Java Runtime Environment,尤其是推出HotSpot技術以后,Java程序會被動態分析和部分編譯成本地代碼執行。)

          但是這正說明了一種我也許無法接受的微軟作風:想當年,微軟何其鄭重其事的將.NET Framework的一個子集:JScript、C#和CLI,注意,是CLI不是CLR,拿到ECMA去申請標準化,多么開放的姿態。(也許正是微軟這 個舉動讓我誤以為.NET會平臺中立吧。)如今,MONO項目已經說明不了什么了,或者說,已經沒有什么說服力,這些標準化的進程又帶來了多大的技術上的 進步和創新?

          在我看來,開放的姿態對于一個大型的框架/技術的發展和完善而言是相當有好處的,但是由于微軟對的.NET的絕對控制,.NET走的是跟Java截然不同的路線,這對我來說是一種無奈。

          最近,另外一種現象也引起了廣泛的關注:那就是微軟在.NET社群已經有了相對成熟的Log4NET、NAnt、NUnit、Spring.NET、 NHibernate等等工具/框架之后,準備推出自己的一套東西并集成進Visual Studio .NET,這也許會引起一些人的不滿,不過也許就像 I坐標 所說,這個是微軟的本性。

          對于開發人員來講,我們當然會在一定程度上有選擇的自由,每個人對.NET,對微軟,乃至對C++,對Java等等也有不同的看法,一旦選定了自己的方向 和對策,就一如既往的堅持走下去吧,不要被包括我在內的許多人和媒體的“片面之辭”蒙蔽了雙眼。對于這些觀點、看法,大家有選擇看和不看的自由,也有選擇 信與不信的自由,信息社會嘛,就是這么簡單。

          還是那句話,我認為.NET和Java兩個社群需要多多交流,相互學習,而不是言語上的相互攻擊和對立。唯有虛心的、對事不對人的態度和探討才有價值。

          Feedback

          # re: [轉自己的隨筆].NET, 想說愛你不容易  回復  更多評論   

          2005-03-18 21:59 by 寒楓天傷
          暈倒,你把.net當對手? 

          # re: [轉自己的隨筆].NET, 想說愛你不容易  回復  更多評論   

          2005-03-19 13:27 by 大胃
          難道.NET社群把Java當朋友?

          微軟為什么會出.NET,除了自身的需要外,很重要的驅動力就是Java,尤其是J2EE給微軟帶來的競爭壓力。要進入企業應用市場,推出.NET同Java競爭是必要的手段。

          對于開發人員講,只要這樣的競爭是良性的,這種競爭就是好事。不過IT巨頭們非常清楚的知道:得程序員之心者得天下,于是才有了今天我們看到的這么多款優秀的IDE,這些IDE背后爭奪的是什么呢?

          對手 != 死敵,尤其如果你對微軟比較了解的話,它其實就是需要對手的存在。也許你我對對手的理解不同?

          兩大陣營需要相互學習沒錯,但是不能因為相互學習簡單的忘記了它們之間的競爭關系。
          主站蜘蛛池模板: 浦县| 郧西县| 池州市| 重庆市| 溆浦县| 江门市| 吉木乃县| 筠连县| 定远县| 天柱县| 衡水市| 遂川县| 洪江市| 林芝县| 屯门区| 漠河县| 梅河口市| 平阳县| 抚顺县| 梁山县| 太原市| 抚远县| 星座| 光山县| 寿宁县| 武威市| 惠来县| 榆树市| 博乐市| 潍坊市| 永善县| 六安市| 四会市| 崇文区| 扬中市| 屏南县| 荆州市| 海阳市| 五莲县| 泉州市| 电白县|