国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    .NET語言的選擇
    發(fā)布時(shí)間:2005-03-17   瀏覽次數(shù):1185113
    .NET語言的選擇

    導(dǎo) 讀:每個(gè)組織遷移到.NET將選擇采用哪種.NET語言。微軟提供了四種語言:C#, VB.NET, 可管理的C++和 JScript。本文簡要的討論了我們關(guān)于這些語言和哪種語言將被使用的看法。

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

    翻譯整理:51dotnet.com(高飛家族)

    原文出處:http://www.dotnetdan.com/articles/misc/LanguageChoice.htm

    每個(gè)組織遷移到.NET將選擇采用哪種.NET語言。微軟提供了四種語言:C#, VB.NET, 可管理的C++和 JScript。本文簡要的討論了我們關(guān)于這些語言和哪種語言將被使用的看法。

    簡而言之,我們相信C#將占據(jù)主要的市場份額;JScript是沒有競爭力的;C++將被忽視,VB.NET顯現(xiàn)出對(duì)市場的準(zhǔn)備不足。

    失敗者

    JScript

    我們希望JScript在很少用戶的基礎(chǔ)上結(jié)束它的使命,F(xiàn)在很少有關(guān)于這方面的資料而且在.NET論壇中也不大有關(guān)于JScript的內(nèi)容。它已經(jīng)不是主流了。不要在把錢投到這項(xiàng)技術(shù)上,放棄它才是最明智的。

    可管理的C++

    C++,即使它新的可管理的形式也將漸漸的被忽視。當(dāng)越來越多的開發(fā)者趨向于語法清晰的語言,例如JScript, Java, VB.NET和C#, 使用C++ 的圈子越來越小。另一個(gè)C++ 面臨的問題是他不能作為一種教學(xué)語言。無疑,盡管如此,有經(jīng)驗(yàn)的C++開發(fā)者將繼續(xù)使用它的能力,模板,多重代碼的繼承性和決定性的最終確定。其余的人都能輕松的應(yīng)付。

    勝利者們

    在這里確切的說應(yīng)該是勝利者。因?yàn)槲覀兿嘈臗# 是的真正的勝利者。VB.NET處在尚無人支持的境地。

    C#具有相當(dāng)?shù)膬?yōu)勢

    大多數(shù)專業(yè)的軟件開發(fā)者,即使獨(dú)立開發(fā)微軟平臺(tái),如今也將采用一些Java語言中的形式。

    Java相對(duì)于C++和VB6較有利。他去處了許多C++ 中的語法特性而沒有絲毫降低它的功能(因此C++的開發(fā)者轉(zhuǎn)向使用Java是非常容易的)。它在支持面向?qū)ο蟮墓ぞ叻矫嬉獌?yōu)于VB6。

    Java以其清晰的面向?qū)ο蟮恼Z法結(jié)構(gòu)和巨大的類庫在大多數(shù)主流的具有生產(chǎn)性的語言中占據(jù)了地位。正是由于這個(gè)原因,許多擅長面向?qū)ο蠹夹g(shù)的C++ 和 VB 開發(fā)者開始向Java轉(zhuǎn)移。

    C# 為那些原本不支持微軟的人轉(zhuǎn)向使用微軟的開發(fā)工具提供了依據(jù)。實(shí)際上它和Java是一致的,只不過在它們的不同之處,C# 更顯示出了它無可厚非的優(yōu)越性。此外,它是一種ECMA標(biāo)準(zhǔn)的語言,因此它提供了跨越多平臺(tái)的潛在能力。

    嚴(yán)肅的講,開發(fā)者想要微軟的最有生產(chǎn)能力和主流的.NET語言,C# 是最明智的選擇。

    VB.NET孤立無助

    還剩下VB.NET。我們?nèi)耘f對(duì)微軟為什么僅僅使VB.NET成為一個(gè)更復(fù)雜的C# 而提出疑問。也許這兩門語言的歷史背景是知道這個(gè)轉(zhuǎn)變的關(guān)鍵,但是我們要討論的是技術(shù)方面的問題而不是市場的問題。

    無疑,VB.NET已經(jīng)成長到一個(gè)新的階段。它現(xiàn)在已經(jīng)成為了面向?qū)ο缶銟凡恐锌焖俪砷L的一員。但是現(xiàn)在誰關(guān)心它呢?也許是一群對(duì)其不滿的人和非面向?qū)ο蟮某绦騿T,但他們將立刻得到它。隨著C#的產(chǎn)生,VB.NET看上去更象是個(gè)過時(shí)的產(chǎn)品,而不是改進(jìn)。

    DecHand代碼生成器能在VB.NET或C#中生成代碼。如果你選擇VB.NET選項(xiàng),你會(huì)得到一個(gè)文件,它和C#實(shí)現(xiàn)同樣功能,但卻要比C#生成的文件大33% 左右。讀某人用VB.NET編寫的的代碼時(shí),冗長的語句會(huì)帶來很多麻煩。當(dāng)我們把這和前面所提到的原因結(jié)合起來時(shí),我們只能希望有經(jīng)驗(yàn)的面向?qū)ο蟮拈_發(fā)者應(yīng)該喜歡C# 勝過VB.NET。

    那么什么樣的市場會(huì)丟掉VB.NET呢? 目前的市場卻使軟件公司僅使用VB來作為開發(fā)工具,并造了一大批VB愛好者.不幸的是,說實(shí)在話VB.NET并不是為這些人所開發(fā)的。

    從VB6移植

    只用VB編寫程序的工作間可能正期望從VB6更新到VB.NET,而且能象現(xiàn)有的VB升級(jí)一樣容易。不幸的是,他們可能會(huì)遭到嚴(yán)酷的打擊。盡管已經(jīng)有一種工具可以自動(dòng)完成操作過程,但升級(jí)到VB.NET仍然會(huì)累人的多。

    正如我們上面提到的,VB.NET是一種面向?qū)ο蟮恼Z言,而VB6不是。問題在于,如果你不按照面向?qū)ο蟮姆绞剿伎,而許多機(jī)構(gòu)也正是這樣做的,你無法體會(huì)到VB.NET轉(zhuǎn)換經(jīng)歷的樂趣。因?yàn)檫@不僅僅是一個(gè)結(jié)構(gòu),而是一種范例的轉(zhuǎn)變,而這種轉(zhuǎn)變是很昂貴的。很多組織可能會(huì)覺得如果他們想改變思維方式,他們不如改變語言。如果VB.NET被很快淘汰掉,也沒什么可驚訝的。

    過去曾經(jīng)輝煌而如今孤寂的愛好者

    最終的市場分割造了愛好者。對(duì)他們而言,VB6是一種可選擇的語言。它提供了簡單而功能強(qiáng)大的工具來構(gòu)建簡單的應(yīng)用程序包括GUIs。

    VB.NET不是這么簡單的。正像我們前面說過的那樣,它是一種功能強(qiáng)大的面向?qū)ο蟮恼Z言。但對(duì)于一般的愛好者來說,他們不想也不需要了解‘-isms’和面向?qū)ο箢I(lǐng)域中的抽象事務(wù)。他們只想把一項(xiàng)任務(wù)盡快完成,而忽略我們某些專業(yè)人士所要求的精細(xì)之處。

    為此,過不了不久這些VB愛好者可能不會(huì)再繼續(xù)使用VB6,或者他們對(duì)其不再報(bào)有太大的希望了。

    VB.NET的未來

    上述注解僅僅是公開發(fā)布的.NET BETA版信息的一小部分。當(dāng)我們看到最終的.NET的產(chǎn)品距離現(xiàn)在還有相當(dāng)一段長時(shí)間,微軟會(huì)采用它們當(dāng)中的一些去生產(chǎn)隱藏著VB.NET復(fù)雜性的Visual Studio.NET特性的產(chǎn)品。我們只能翹首以待。我們對(duì)此不能做什么,只能相信他們能作到,為了發(fā)展,讓我們給微軟以傳統(tǒng)的愛護(hù),這樣他們會(huì)更加努力的去做。

    關(guān)于運(yùn)行時(shí)間的執(zhí)行

    如果你看到這里與你所想的相差甚遠(yuǎn),你可能會(huì)問“性能怎樣?”,當(dāng)你在決定用哪一種語言來更快的完成一項(xiàng)產(chǎn)品時(shí),這是每一個(gè)人所自然而然所要問的。

     毫無疑問.NET完全排除了那些標(biāo)準(zhǔn)。

    為了去理解為什么.NET 語言運(yùn)行會(huì)一樣快(或慢),我們需要去看一下編譯程序,或正好是兩個(gè)階段的編譯程序。

    階段發(fā)生在你用Visual Studio按Ctrl-Shift-B鍵時(shí)。在這一點(diǎn)上,執(zhí)行一個(gè)編譯,你的語言編譯器正在創(chuàng)建中間語言(IL)。第二階段發(fā)生在你運(yùn)行了應(yīng)用程序時(shí)。第二階段有時(shí)被看作是JIT編譯(我們會(huì)覺得奇怪,但是我們不能解釋)。它為特別使用CPU而使用了IL和產(chǎn)生本土代碼。

    微軟對(duì)階段編譯的IL而產(chǎn)生的代碼并不樂觀。相反,他們開始擴(kuò)展他們所有的能力去優(yōu)選第二階段IL---本土代碼編譯。他們這樣做是為了使語言的不可知的原因。所有的.NET語言在運(yùn)行時(shí)間的執(zhí)行上是一樣的。

    關(guān)于調(diào)試和編譯者的支持

    Visual Studio.NET提供了同樣復(fù)雜的調(diào)試和編譯者使用所有語言的工具。當(dāng)在Managed C++譯碼時(shí)你不會(huì)看到更細(xì)節(jié)的東西,例如,與其他的語言相比。你可以達(dá)到你所希望達(dá)到的深度。同樣,自動(dòng)完成的方法也適用于其他語言。

    總結(jié)

    如果你想找到更的辦法,那使用C#。我們肯定現(xiàn)在VB.NET的功能如此強(qiáng)大,而且C#更是如此,選擇它你不會(huì)后悔的,因?yàn)槲覀円呀?jīng)向你清晰地描述了它的生產(chǎn)性能。

    來源:http://edu.chinaz.com
    立即預(yù)約