新聞中心
.NET語(yǔ)言的選擇,C#,VB.Net哪個(gè)更有前途?
Visual Basic.net還是C#

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到九臺(tái)網(wǎng)站設(shè)計(jì)與九臺(tái)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋九臺(tái)地區(qū)。
——如何選擇.net語(yǔ)言
在.net中,如何選擇VB或C#?這似乎已經(jīng)爭(zhēng)論了很久。很多人盲目選擇,也產(chǎn)生了許多流言和錯(cuò)誤。本文將從以下方面指導(dǎo)你選擇正確的開發(fā)語(yǔ)言。
功能上的考慮
許多人認(rèn)為C#的功能比VB.net強(qiáng)大,或者C#更加適合.net等。其實(shí)這不是一兩句話能比較清楚的。C#的確有VB無(wú)法完成的功能,但VB也有C#無(wú)法完成的功能??偟膩?lái)說(shuō),對(duì)于.net開發(fā),VB和C#沒有任何差別,都100%兼容于CLS。下面列出的是他們語(yǔ)言功能上的不同,這些僅僅是語(yǔ)言實(shí)現(xiàn)上的問(wèn)題,不會(huì)影響到生成的代碼。打*號(hào)的內(nèi)容與CLS不兼容。
C#有而VB沒有的功能:
1、 運(yùn)算符重載。*
2、 不安全代碼(指針和固定內(nèi)存區(qū))。*
3、 無(wú)符號(hào)整數(shù)。*
4、 移位運(yùn)算。
VB有而C#沒有的功能
1、 即時(shí)編譯。
2、 靜態(tài)事件綁定。
3、 條件異常捕獲。
4、 COM兼容類。*
5、 寬松的類型檢查和變量聲明。
6、 Visual Basic Runtime庫(kù)。
7、 可選參數(shù)、帶參數(shù)屬性、模塊等語(yǔ)言特征。*
8、 動(dòng)態(tài)數(shù)組。*
可見,實(shí)際上功能更強(qiáng)大的是VB而不是C#。不過(guò)它們不一樣的地方多半是無(wú)關(guān)緊要的特征。總體上來(lái)說(shuō),不應(yīng)從功能上選擇VB或者C#,因?yàn)樗麄儧]有什么具體的差別。
性能上的考慮
性能是程序員最關(guān)心的問(wèn)題。VB和C#都生成一樣的IL,因此理論上說(shuō)不會(huì)有性能的差異。但許多人為什么說(shuō)C#的性能高于VB.net呢?這是因?yàn)閂B.net支持即時(shí)編譯,就是一邊書寫代碼一邊編譯。這樣可立刻發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,使調(diào)試變得更加容易。但是這樣一來(lái)VB就需要隨時(shí)瀏覽整個(gè)代碼文件,并把臨時(shí)數(shù)據(jù)儲(chǔ)存。這造成VB.net生成的代碼中常常具有冗余部分。但也不能就此下結(jié)論說(shuō)VB比C#慢,當(dāng)用戶選擇打開優(yōu)化并且以Release方式編譯工程,就能得到與C#一樣簡(jiǎn)短快速的代碼。
學(xué)習(xí)上的難度
這部分不僅僅初學(xué)者需要考慮,那些從現(xiàn)有開發(fā)工具轉(zhuǎn)移到.net的開發(fā)人員也需要考慮。首先,VB和C#都是非常簡(jiǎn)單的,對(duì)于初學(xué)者來(lái)說(shuō),VB提供伸縮性更強(qiáng)的空間,因此比C#更加易于接受。但這只是相對(duì)而言,C#對(duì)于初學(xué)者來(lái)說(shuō)也不會(huì)有太多的困難。
對(duì)于使用Visual Basic6或其他版本的程序員來(lái)說(shuō)。VB.net的語(yǔ)法顯然要比C#更加接近VB6,網(wǎng)上流傳的VB與VB.net差別被過(guò)分夸大,使部分程序員退縮。其實(shí)VB.net增加的只是面向?qū)ο蟮乃枷?,許多VB程序員不具備完善的面向?qū)ο缶幊涕_發(fā)經(jīng)驗(yàn),因此覺得VB.net難以接受,這是很容易克服的。想想看,即使你要使用C#不也得學(xué)習(xí)面向?qū)ο髥幔恐劣谟蠧/C++/Java經(jīng)驗(yàn)的人,C#是小菜一碟。剛才說(shuō)過(guò)C#和VB實(shí)際上都很簡(jiǎn)單,所以不見得VB程序員學(xué)習(xí)C#就要比C/C++程序員來(lái)的困難,反之亦然,有C/C++經(jīng)驗(yàn)的人也可以果斷的選擇VB。
移植現(xiàn)有代碼
這一部分是程序員最頭疼的部分。但對(duì)語(yǔ)言選擇有決定性的意義。
從VB6移植代碼的程序員,最佳選擇就是VB.net,因?yàn)槠渌?net語(yǔ)言沒有一種是與VB相似的。而且即使VB6的工程移植到VB.net非常困難,也有一個(gè)移植向?qū)Э梢詭椭阃瓿纱蟛糠止ぷ?。如果手工把他移植到C#,需要白白花費(fèi)大量的時(shí)間。而且剛開始使用C#的VB程序員通常都會(huì)為C#缺少他們熟悉的函數(shù)而頭疼。VB.net不會(huì)出現(xiàn)這種情況。
從ASP移植到ASP.net,首選語(yǔ)言仍然是VB.net,因?yàn)槎鄶?shù)程序員使用的ASP語(yǔ)言是VBScript,只有VB.net最大程度地接近這種語(yǔ)言。
C#對(duì)于移植代碼似乎沒有作用,了解C#的人都明白,把現(xiàn)有C/C++代碼放到C#中運(yùn)行幾乎是100%不能通過(guò)的。所以,如果需要移植C/C++代碼,最好使用Visual C++.net。他做到了最好的新舊結(jié)合。C#僅僅用于編寫新的.net應(yīng)用程序。
如果需要從Java移植代碼,C#可以選擇。同時(shí)還有J#及其他一些MS提供的轉(zhuǎn)換工具。
文檔和資源方面的考慮
在MSDN文檔中,C#和VB是同等看待的。所有文檔和例子都是有VB和C#兩份的。因此,在尋求資源方面都不用擔(dān)心?;ヂ?lián)網(wǎng)上的資源,C#要多于VB,特別是國(guó)內(nèi),有傾向于C#的潮流。但是ASP.net的資源VB較多。國(guó)內(nèi)缺乏VB.net資源是影響VB.net推廣的重要原因。但是在國(guó)外有很多非常成熟的VB技術(shù),如掌上設(shè)備的開發(fā)技術(shù)。
代碼風(fēng)格和雜項(xiàng)問(wèn)題
C#書寫的代碼比VB平均短小20%,許多人不喜歡VB中過(guò)長(zhǎng)的關(guān)鍵字。當(dāng)然他們可以選擇C#。但在開發(fā)環(huán)境中,VB的自動(dòng)完成功能比C#更完善,其實(shí)30%的代碼都是自動(dòng)補(bǔ)充的。因此,實(shí)際上VB程序員不會(huì)比C#多打多少字。但VB語(yǔ)言換行比C#麻煩,如果需要書寫大量繁雜而長(zhǎng)的代碼,最好選擇C#。VB的代碼接近完整的英語(yǔ),比C#更加易讀。如果是初學(xué)者不妨選擇VB。
vb.net和c語(yǔ)言哪個(gè)好
語(yǔ)言沒有好壞之分,只有對(duì)某個(gè)問(wèn)題的處理擅不擅長(zhǎng),具體還得看你自己的需求。
VB.NET確實(shí)還行,C語(yǔ)言大家都知道效率比較高,應(yīng)用也更廣泛些,還是推薦你學(xué)C語(yǔ)言,學(xué)好C語(yǔ)言之后再學(xué)C#比VB.NET稍微好學(xué)些,都是.NET
學(xué)c#好還是學(xué)vb.net好?哪個(gè)更有前途?
你是dotnet的擁躉,你也許會(huì)碰到一個(gè)查遍了所有資料也得不出一個(gè)結(jié)論的答案:那就是學(xué)vb.net與c#,我也是半路出家的道士,曾經(jīng)也苦苦的尋求的答案。
到頭來(lái)也是一無(wú)所獲反而更加的迷惘了。根據(jù)我個(gè)人的經(jīng)驗(yàn),特為和我當(dāng)年有同種尋求答案的人提供一種參考。
一、學(xué)vb.net吧,原因:
如果你有過(guò)vb的編程經(jīng)歷,要那就建議你從vb.net開始吧,雖然vb.net已經(jīng)與vb有著本質(zhì)的變化了,它看起來(lái)才是一真正的面向?qū)ο蟮恼Z(yǔ)言,但ms又為vb開發(fā)保持留了最大平滑過(guò)渡的可能性。
1、vb.net基于vb發(fā)展而來(lái)的語(yǔ)言,但絕不是簡(jiǎn)單的升級(jí),因?yàn)楸举|(zhì)東西已經(jīng)沒有共通之處了,但讓你有似曾相識(shí)的感覺,上手還是比較快的。
2、vb.net與c#編譯后的微軟中間語(yǔ)言msil內(nèi)容都是一致
二、學(xué)c#吧,原因:
如果你是從沒有開的經(jīng)驗(yàn)朋友,那就從c#直接開始原
1、因?yàn)樯虡I(yè)的關(guān)系,ms先生們肯定會(huì)有所側(cè)重,把更多的精力投入到這門新的語(yǔ)言中。
,哪種對(duì)你來(lái)可以取得更多的收益,你就用哪門語(yǔ)言。
vb.net和c語(yǔ)言哪個(gè)更好,更普遍
c吧,初學(xué)上手比較難,但還在用,其他語(yǔ)言好多講效率的基礎(chǔ)庫(kù)底層都是c寫的。
另外好多語(yǔ)言都是c語(yǔ)言體系的,基本都差不多什么if,else,switch啥的。
vb相對(duì)簡(jiǎn)單,但不算很大眾。c#,java這種比較主流上手也快,但也是c體系的。看你要干嘛了
當(dāng)前標(biāo)題:包含c還是vb.net的詞條
鏈接URL:http://www.dlmjj.cn/article/dodhjsj.html


咨詢
建站咨詢
