1.DotNet(.Net):新平台,C#:新語言
DotNet和C#的出現有一段時間了,而且目前繼續在發展和升級中。DotNet和C#到底是何方神聖,相信廣大讀者對它們並不陌生。簡單的說DotNet是某種程序(我們稱之為DotNet程序)的運行環境或平台,所以我們更多的時候是說DotNet平台,而C#是一種開發DotNet程序的語言。我們說“C#編程”其實就是進行“DotNet程序開發”。
我相信每個軟件開發者都對“平台”這個詞很熟悉。這個詞使用非常頻繁,而且用在不同的場合有不同的含義。一般來講,常說的“平台”指兩種東西,一個是操作系統,另一個是程序運行環境。例如,“Windows平台”――操作系統,“Win32平台”――程序運行環境。有時為了更好的區分,也管程序運行環境叫“開發平台”,例如,Java開發平台。有時候根據上下文我們也可以分辨得清“此平台是何平台”,例如,“Java可以跨平台”,這裡的“平台”指操作系統。
我們進行程序開發都是針對某種運行環境而言的。在Net推出之前,Windows操作系統存在如下一些程序運行環境或開發平台:
1.Win32
2. Posix
3. OS/2
4. Java平台
前三種是隨Windows而來,本身固有的,也稱之為環境子系統 environment subsystems。而其中以Win32和Java平台應用廣泛。Java已經在多個操作系統中實現了。而Win32只存在於Windows中。進行Win32程序開發時,我們要使用Win32平台提供的Win32 API。每個Win32程序員肯定都有這樣一個感受:“開發Win32程序不是件容易的事情”,確實如此。我想,或多或少與下面兩點有關。一是Windows是事件驅動,基於消息的操作系統,要把這點理解就很費勁;二是Win32是基於對象的,面向對象的一些特性無法實施,特別是編程接口以函數形式提供造成使用不便。Java的成功除了他的跨平台等優點外,我想還有一個原因是他的簡易性(當然,現在Java是越來越復雜了)。
在Windows操作系統上運行的程序有很大一部分是用Java開發的,這是MS不能忍受的,再說了,Win32編程模式確實缺少親和力。所以,MS推出了DotNet,一種全新的開發平台,旨在與Java競爭。DotNet是與Java相對應的一種平台,懂得Java的朋友在學習DotNet時很容易上手。至於DotNet與Java孰優孰劣,每個人有自己的看法,我想各有所長吧。
C#是隨著DotNet一塊推出的新語言。C#編譯器是面向DotNet的,不像傳統的編譯器針對某種機器。C#綜合了C++和Java等語言的優點。給我的感覺是簡約和優雅,不像C++那樣晦澀,在DotNet的支持下,執行效率也比Java較好。
當然,學習DotNet和C#並不是那樣簡單。本人認為先了解一些新的術語和概念,學點C#語法(不要深究),然後閱讀“用C#程序例子講解DotNet的書籍”。接著系統的學習C#,這樣你就會就會如虎添翼了。雖然對DotNet內部機制了解不深也能寫出好的程序,我想一旦你對DotNet了解更深,你就會寫出更好的程序來。再說了,追根溯源是某些人的愛好。如果你對DotNet和C#都很精通,那麼你就是內外兼修的武林高手了。