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