【轉載】關於Windows.Net和VisualStudio.Net的一些觀察

來源:互聯網
上載者:User
visual|window 轉載自【雨聲論壇】
原作:software_young
----------------------轉載開始----------------------------
本文的目的是希望引發關於Windows.Net和VisualStudio.Net的一些討論,因此,本文的內容和結構如果不能夠引人入勝或者貽笑大方,敬請各位高人海涵。

一。微軟的.Net戰略是微軟自成立以來最為宏大的項目,也是業界近年來少有的大手筆,其結果對微軟和業界都將是決定性的。如果成功的話,微軟將建立起對Unix和Java的巨大優勢;而如果失敗的話,它將成為微軟的天鵝之歌。

二。.Net的設計目標:
設計一個基於Web,平台獨立,包含多個層次的目標的龐大軟體服務體系。它以Web為中心,組織各種服務,使得微軟的以客戶機和伺服器為中心的COM/DCOM/COM+轉化為以Web為中心的各種服務,成為龐大的Web ASP(應用服務供應商);通過將.Net與宿主作業系統的相對分離,實現了相對的平台獨立性,使其不僅可以應用於傳統的Windows,而且可以應用於Unix系統和嵌入系統、甚至是手持功能;各種使用者前端,包括手持功能、嵌入系統、傳統的台式機、甚至傳統的主機,都將成為其客戶;.Net包含了對多個層次目標的支援,可以滿足從手持功能、嵌入系統到64位的高檔伺服器等各個市場段的需要。

三。.Net的影響:
如果.Net成功的話,它將使微軟可以入侵傳統上各個相對較小的的側翼市場,通過微軟巨大的裝機量、大量的現成應用程式、大量的使用者群所產生的市場震撼,以多米諾骨牌的方式摧毀對手。從而建立現代高科技市場上的蒙古大帝國。這一點,大家可以從近來Palm的失勢和Pocket PC的勝利,XBox的市場表現以及微軟和Borland的力量對比的變化看出來。

四。.Net的結構的力量:
傳統的Windows都是在Kernel之上密集積累各種Service來實現其功能(大家可以通過察看各個版本的Windows NT的Service來發現其所具有的各種服務功能)。大量的功能進入系統核心,一方面提高了系統的整合度,一方面也使得系統十分龐大,使得系統的效能和穩定性都成為問題,使得進入不同的市場段變得困難,同時限制了對於簡單應用的效能表現。Linux在某些應用方面的效能優勢,其實正是由於它相對簡單和功能較少。
.Net的設計,將其各種功能從作業系統中分解出來,通過組合不同的功能來對應不同的市場需要,各個版本的Windows.Net實際上就是不同組件的各種組合。它可以說是世界上第一個完全以組件模型來設計的作業系統。這一點,實際上從Windows XP已經開始。
Windows XP的力量並不在於它有美麗的使用者介面,和各種利於使用者體驗的各種工具,如MediaPlayer,而在於它所提供的服務集和體繫結構。關於服務集,大家可以對比Windows XP和Windows 2000 Professional來發現Windows XP提供了多少新的服務和這些服務的面向的目標。而在體繫結構上,Windows XP已經可以去掉其圖形化使用者介面,以嵌入系統的方式工作了。這意味著,它的圖形化使用者介面實際上已經離開了系統的核心,成為一個可裝配的組件。這是一個十分重要的變化。
Windows.Net的結構,實際上應該分為兩個部分:微軟專有平台部分和可移植部分。前者包括了硬體相關部分和傳統的Windows市場;後者則構成了Windows.Net的精華,隨著時間的推移,前者將逐漸簡化,後者將日趨強化。
目前,運行於Unix的.Net支援組件正在開發中。如果能夠成功的話,.Net將可以作為Unix的一部分運行在Unix上面,Unix將成為一個宿主系統,就像Unix是Java的一個宿主系統一樣。
宿主系統下的軟體如果足夠強大的話,一樣可以構成一個作業系統,至少可以構成一個強大的軟體層,前者的例子是今天的Oracle 9i,大家可以看到它離作業系統還有多遠,這既是Oracle在市場上的巨大力量所在,也是宿主系統的噩夢,後者的例子是微軟的Office,Office不僅僅在於其便於使用,而且在於其所含的Visual Basic for Application,它使得Office成為了一個軟體平台,這一點,是IBM的Lotus Office和Corel的Perfect Office無論如何無法比擬的,他們的失敗也就不可避免了。
以這種方式,傳統的Unix將逐步被淘空,成為一個空殼,最後走向消亡。因此,.Net的設計結構,使得它成為現代的特洛伊木馬。

五。關於VisualStudio.Net。
VisualStudio.Net是Windows.Net的開發工具。它和前代產品的巨大差異,成為人們爭論的目標和擔憂的所在。
VisualStudio 6.0的設計是基於COM/DCOM,後來又加入了COM+。它是以本機軟體為設計目標的。軟體開發直接產生平台相關的代碼。不同的程式設計語言的層級和功能大不一樣,而都直接產生平台相關的代碼。這使得二進位級的移植實際上不可能。
VisualStudio.Net的設計則完全是基於Web的服務和應用。它實際上是以一種虛擬機器的模式來設計的,CLR(通用語言運行環境)構成了其基礎。軟體開發產生的是中間碼,它在實際運行時轉換成對應的機器碼,這種設計的好處是和Java相似的,一種理論上的無限可移植性。但是微軟的唯一性,使得這種理想更加接近於現實。
不同的程式設計語言所訪問的都是那個CLR。ASP具有了更多的面向目標的特性,Visual Basic實際上第一次成為真正面向目標的程式設計語言。各種程式設計語言面向CLR的設計模式,使得CLR,而不是各種程式設計語言成為開發的中心。曆史上第一次,程式設計語言的選擇成為了個人的愛好而與目標無關。我在想,這是否敲響了Windows.Net市場上C++的喪鐘?
VisualStudio.Net實際上為不同的市場段準備了不同的組件。為標準的台式機、伺服器市場準備了標準的VisualStudio.Net;而為嵌入市場準備了Embed VisualStudio.Net,一種小型的VisualStudio.Net,它很像Visual Basic和VBScript的關係。
VisualStudio.Net的工作基礎是CLR、XML和SOAP,這些都還是不太確定的東西,它為VisualStudio.Net的前景增加了一些變數。
VisualStudio.Net中的各種語言,都和其前代大不相同。VisualBasic.Net幾乎是完全重新設計的;Visual C++的變化也十分的巨大,雖然語言級沒有多少變化,但是其類庫則完全重新設計;C#則是一種全新的程式設計語言,它和Java比較接近,但只是形式上,我認為,它是比Java更好的Java,而且是最沒有包袱、最易於和CLR結合的程式設計語言;至於Java.Net,除了繼續支援原來的Visual J++的使用者和利於Java程式的移植外,我看不出它有多大的用處;談到Java程式的移植,我覺得不太容易,畢竟雙方的體繫結構的不相容要遠遠大於其語言的相似性。
無疑,VisualStudio.Net是Windows.Net的開發利器,但是其和前代的巨大差異和所導致的開發人員的重新學習,使得人們對它的可接受性產生了一定的懷疑。
說句實話,VisualStudio.Net使得幾乎所有的Windows軟體編程人員都變成了初學者,當然起點是不會一樣的。這就是為什末我強調技術的思想,而不是技術的細節。技術不能夠沒有細節,但是過份專註於細節,在總是變幻的IT市場,將使人們陷入虛無。
順便說一句,我的愛好是曆史(真正的曆史,不是隨便讓人改的政治),而不是軟體技術。人應該有些寄託,總不能最後要末是半吊子,要末都出家了。
不好意思,又扯得太遠了。謝謝各位。


software_young 編輯於 2002-02-01 13:47
----------------------轉載結束----------------------------

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.