2007年4月20日 星期五

I believe .Net !

原文: I believe .Net !

最近Richard Grimes的一篇文章,把.Net社區攪弄了一番,CSDN也將這個新聞放在了首頁上。博客園也有人發了一篇帖子,表示了自己對.Net的疑問。Visual C#的產品經理Dan Fernandez則在他的Blog上發表了一篇文章,逐條的反駁了Richard Grimes的觀點。那麼我也湊湊熱鬧,來講一講自己的觀點,為什麼Microsoft不做某些看起來“理所當然”的事情。一、Microsoft對.Net沒有信心嗎?恰恰相反,Microsoft相對IBM、SUN最大的不同就是,如果Microsoft認准的方向,會將整個Microsoft全部“押”上去,投入所有的力量,盡最大的努力做到最好。從DOS到Windows,從Win32到.Net,無不是如此。不管是IBM,還是SUN,在推廣某項技術的同時,總會“留上一手”,以免“萬一不利”的時候,還有備選方案,或者能夠避免讓整個公司受損。看起來似乎很“安全”,但是,如果連公司自己都沒有“決一死戰”的信心和勇氣,還能指望消費者能相信自己嗎?當Lotus、WordStar領先於辦公套件市場時,當幾乎所有上網的人都使用Netscape時,當OS/2號稱將取代DOS和Windows時,當Java似乎要將所有程式師吸引過去時,如果沒有“決一死戰”的信心,沒有將整個公司“押”上去的勇氣,你認為,Microsoft能走到今天嗎?二、為什麼Microsoft自己不將所有現有產品都徹底用.Net改寫掉?一家軟體公司最愚蠢的事情之一,就是公司的管理層聽信了開發人員的下面這句話:“天哪,舊版本的代碼簡直就是垃圾,我們唯一的選擇就是重頭設計一個全新的系統,用最棒的技術來構建!”無數軟體公司都是死在了這句話之下。Netscape的管理層就曾經聽信過開發人員的話,用全新的代碼去構建Netscape的下一個版本,而不是基於舊版本進行逐步的升級。最後,似乎永遠無法Release的全新版本,把Netscape徹底拖死了...三、但是,“純粹”的.Net,多激動人心呀!嗯,有個專門的術語,叫做“The Myth of .NET Purity”(純血統.Net神話),請先閱讀這篇文章。我們生活在一個真實的世界,在這個世界中,已經有大量的使用Win32 API、COM等“過時”的技術構建起來的系統,而且這些系統可能還需要維護和升級。如果我們生活在一個完美的世界,那麼,我們倒的確可以嘗試用最新的技術去構建和升級一切系統!順便一提的是,Longhorn本身不是託管的(Longhorn is NOT managed),而且從一開始就沒打算將其設計成一個純.Net的OS。Longhorn仍然是以現有的Windows代碼為基礎,經過許多的改進而成的。重要的是,Longhorn的開發介面WinFX是託管的。

--------------------------------------------------------------------------------------------

以下是某位Java Developer的回覆
# re: Responding to Richard Grimes article on .NET 3/7/2005 7:23 AM Bob

I have been a java developer since JDK 0.9 through an early adopter program. I am not a .NET guru, but follow the progression. I say this because, I could replace .NET and C# with JDK and Java in Mr. Grimes' article. I cannot speak to the strengths and weaknesses of .NET. But Java or any platform has strengths and weaknesses. The ability to repair broken classes and the time involved is a problem in java as well. I've been blown off by JDK platform developers numerous times. The knock against Microsoft for making a product platform decision is outright ludicrous. My advice to Mr. Grimes would be to work on a product program for a few years where his career is dependent upon annual releases with new features. Personally, I don't care if the Office Suite is built on .NET or not. I just care that it works. If it were all written in VB, or assembly I wouldn't care, provided it works. Is he not familiar with JNI for legacy wrapping in Java? I applaud any effort that works towards making development easier. .NET may not be perfect, but neither is Java.

沒有留言: