直播中
精品中的精品
微軟開發(fā)的C#(C Sharp)語言,不僅有實時的編譯器,豐富的數(shù)據(jù)類型,還有一個被稱為CLI(Common Language
Infrastructure)的服務。C#和CLI,都被打包在了微軟六月份發(fā)布的.NET軟件開發(fā)員工具箱Beta 2中,這一工具箱可用于
創(chuàng)建文本和圖形應用程序、服務器端應用程序、組件和Web服務。這一功能已經(jīng)被提交到了ECMA(歐洲計算機制造商協(xié)會)
作為了標準,這將可保證任何人都有權使用C#和CLI來進行開發(fā)。
這次,傲慢的微軟居然還好事做到底。它承諾C#將可以像Java一樣便攜、通用,并且用戶無需受許可期限的限制。因
此,商業(yè)用戶將可選擇使用一個新的、功能強大并且具有極大吸引力的程序設計語言。
C#可以說是微軟在不斷的發(fā)展和實踐的過程中,錘煉出來的一個精品。它集C++、Java、JavaScript(現(xiàn)在的
ECMAScript)和VB的精華于一身,因集眾家之長,使其不僅安全,而且還非常的易于使用。當然,僅僅有語言還不足于創(chuàng)建
應用程序,以之相伴的CLI確保了所有的C#程序、無論是從輸出格式,還是網(wǎng)絡I/O,都有一整套標準的類和數(shù)據(jù)類型。
美好前景
和以前的VB一樣,C#也承認并不是所有的程序都可以由初級程序來完成的,因為在一些大的應用程序中,復雜和冗長
的編碼過程將不可避免。我們知道,C++因其復雜、麻煩而著稱;VB則主要是面對初級和中級程序員的。
C++程序員羨慕VB,并不是因為其安全性,而是因為微軟直接把一個易于使用的COM(Component Object Model)整合
到了VB中。事實上,為了簡化C++程序員對COM的訪問,微軟也進行了一些嘗試,但是最終它還是沒有像在自己的專有權軟
件VB中一樣,在標準的C++中加入免費的關鍵字。
從常理來講,C++的開發(fā)者為了追求VB的易用性,似乎很有可能會轉(zhuǎn)而使用C#。事實上,對于大多數(shù)程序員而言,它們
不會選擇使用一個它們認為比較差的語言來進行程序設計。所以,為了能夠繼續(xù)使用自己津津樂道的C++所特有的功能,
C++的程序員很有可能會學習使用C#。最后,在大部分Windows的開發(fā)中(包括商業(yè)應用程序的開發(fā)),C#將代替C++。因
為,和微軟加入到C++中的所有Windows和COM層相比較,C#更加的簡潔、干凈。
為了使VB7(包含在Visual Studio.NET中)能和CLI兼容,微軟已經(jīng)把一些使VB非常易于使用的功能舍棄。所以以前舊
的VB應用程序,將不能通過VB7中更加嚴謹?shù)木幋a規(guī)則。
微軟的CLI是其.NET一個關鍵的組成部分。它可以把數(shù)據(jù)類型標準化,以使得所有和CLI兼容的軟件,無論其是用什么
語言編寫的,也不論是在什么平臺上編寫的,都可以共享數(shù)據(jù)?,F(xiàn)在,我們所熟知的相對來說和CLI最接近的是JRE(Java
Runtime Environment)和它標準的類,不過二者間的差別還是非常的大:CLI是用來支持所有編程語言的。所以在軟件項
目的開發(fā)中,項目組中的程序員可以選擇一個自己最喜歡的語言來編程。這對于開發(fā)那些項目組成員處在不同的地理位置
的分布式開發(fā)項目來說,將帶來前所未有的便利。
CLI使得代碼的重用非常的簡單,如果一個應用程序需要某個代碼模塊,那么只需將其拷貝到應用程序的主目錄即可,
而無需注冊。這是因為CLI的設計就使其可以運行在任何主機和任何操作系統(tǒng)上。
C#和CLI的確有很多受人歡迎的地方,不過也許促使人們?nèi)ナ褂盟?,不是因為微軟的宣傳,而是ECMA(歐洲計算機制
造商協(xié)會)所做的努力?,F(xiàn)在,C#或者CLI已不屬微軟所有,所以微軟可以推出自己的開發(fā)工具,它的公司也可以推出自己
的開發(fā)工具。這其中也許有的就很有可能成為微軟的競爭對手。當然,居于自己的發(fā)明來促進公共標準的發(fā)展,這并不意
味著微軟就已經(jīng)認可了源代碼開放,事實上,微軟是另有所圖。不管怎么說,C#和CLI都是在正確的方向上走出了非常有意
義的一步。C#語言和與之相伴的CLI對于.NET和未來Windows平臺下的軟件開發(fā)是至關重要的。
由于具有.NET的便攜性和代碼的安全性,并且考慮到可以把一些關鍵的C++項目移植到C#上,所以C#代替C和C++將只是
時間上的問題。而對于長期從事VB開發(fā)的人來說,很有可能因為無法忍受CLI更加嚴格的編程規(guī)則,因此轉(zhuǎn)而使用比VB優(yōu)秀
得多的C#。,
微軟意欲何為
很顯然,微軟的這次反常表現(xiàn)讓很多人對其C#語言和CLI持懷疑態(tài)度。畢竟,這是一個很有價值的知識產(chǎn)權,而微軟卻
放棄了,這似乎不太附合這個軟件業(yè)霸主的一貫風格。難怪各公司在是否使用C#和CLI標準時舉棋不定,疑慮重重。
不過,有一點可以肯定,微軟的這一舉措將使來自各方批評有所減弱。此外,一些在源代碼開放陣營中反微軟的人,
很有可能會編寫自己使用的C#編譯器、CLI工具以及其它的應用程序,而且他們所寫的所有東西都將可以在Windows下運
行。
微軟是一個精明無比的“商人”,如果我們把微軟比作一個服裝商,那么它為了能買出自己的整套西服,就會免費把
領帶送給消費者(這種情形,我曾在王府井碰到過)。對于現(xiàn)在的微軟來說,C#和CLI是領帶,而Visual Studio.NET是西
服。微軟斷定所有接受C#的人,最終將很有可能選擇使用其功能強大的Visual Studio IDE(整合開發(fā)環(huán)境)。另外,微軟
這一舉措,無疑是把Sun公司推到源代碼開放軟件的對立面。我們知道,Sun公司的Solaris在互聯(lián)網(wǎng)領域,占有最大的市場
份額,而相對來說,微軟的NT系統(tǒng),似乎不盡如人意。微軟這一招可謂是一箭雙雕。
實事求是的說,微軟現(xiàn)在力推的這一套“西服”還是非常的優(yōu)秀?,F(xiàn)在ECMA委員會正在測試C#和CLI,以產(chǎn)生一個新的
ECMAScript標準。所以,不管微軟居心如何,C#和CLI的前景還是非常誘人的。