亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

百萬程序員的苦惱-選擇VB.NET還是C#

2019-11-18 19:47:24
字體:
來源:轉載
供稿:網友

  在過去的一年中,互聯網上的各大討論區或者電子郵件的討論列表都對微軟的VB.NET以及C#的各種優越性做了探討。這些討論圍繞的主要問題就是,我應該先學哪一個,VB.NET還是C#? 

  我寫這篇文章的目的就是想幫您解決這個問題。我并不是想動搖你傾向哪一種語言而是想解決一些大家在基本問題上的疑惑,以便大家能夠作出自己的決定,選擇一種自己覺得用起來最舒適的語言。我將盡量避免討論一些語法上的模棱兩可的話,就像“C#的括弧太多了,”“VB.NET句子太冗長,”或者“我討厭C#(或者VB.NET)因為它能(或者不能)區分大小寫?!敝惖脑?。評論語法的好壞是你個人品味的問題。相反,我將著重討論一些我見到的關于這兩種語言的技術方面的討論。

  在C#方面

  作為微軟公司最新的一種語言,并且由于它又是java語言的小翻版,C#引起了廣大的關注。

  人們看上去喜歡一種語言僅僅取決于它是最新的,程序開發者們總是喜歡用最新的工具工作。其它的一些選擇使用C#的理由更為具體一些。

  領導潮流的東西總是無懈可擊的

  “如果我正準備學一門新的語言,我還是應該學C#?!边@也許也是你經常聽到的言論。那些推理總是這樣進行的:“VB6轉變到VB.NET變化已經非常大了,以至于它基本上就是一門是新的語言。如果我無論如何打算學習新語言,我想還是學C#吧,因為它是特別為.NET類的庫設計的?!?/P>

  這也是我聽到過的關于這兩方面的最蒼白的爭論。你也可以同樣理直氣壯的說,如果我無論如何打算學習新語言,我想還是學VB.NET吧,畢竟它也是一門新的語言。另外,讓我們想想為什么VB.NET從其先驅者那里如此激烈地演變到現在的樣子:它為了適應.NET類的庫而被重新設計了。

  對比管理過的和沒有管理過的代碼

  “C#允許我寫那些運行在CLS存儲器控制之外的非管理代碼,我可以直接訪問存儲器,并且使用指針。讓代碼自由地運行,包括使用存儲器的管理,可以得到更高的效益?!边@個觀點有3個問題需要考慮:首先,我們不應該在Beta版本的開發環境下討論性能問題。舉個例子:在.NET的Beta1和Beta2版本之間有顯著的管理代碼運行速度的改善。第二,我們還不能把非管理代碼比管理代碼能獲取多少利益量化,并且是否值得為了這些好處冒險。可以去看看Eric Gunnerson在MSDN上的這篇文章。第三,盡管VB.NET不能建立非管理代碼,它能通過System.Runtime.InteropServices 名字空間的使用,來訪問并工作于非管理存儲器。

  C#有內置的xml文件編制器

  “C#編譯器包括直接被嵌入成為源代碼的XML文件編制器在內。如果我使用C#,我同時編寫了代碼并編制了文件?!笔褂眠^JavaDoc的人都知道,把你的文件編制加到你的源代碼中是多么的有用。源代碼和文件編制可以同時更新,因此至少在理論上講,你的文檔永遠都不會過時。不過,以我的經驗來看,相對少數的Java開發者還是在使用JavaDoc。這樣,問題就變成“你將使用它嗎?”如果你的對這問題的解答是“是”,你有足夠的理由試試C#。
關于VB.NET又怎么樣呢?
 
  在很多真正的開發者看來,VB像玩具語言似的,從某種角度看,也確實是這樣的。迄今為止,VB遠比我們所知道的那兩三個弱點更多。不過VB.NET確實是和C#同樣強大的.NET開發語言。有些人說它更強大。

  VB.NET有內置的(插入特點)支持;而C#沒有

  “VB.NET內置了很多東西像字符串操作(Mid, InStr, 等等)和類型轉換(例如CInt)。C#缺乏這些內置的支持,所以,我所需要的東西,在C#中很難找到。

  如果你抓住這些你應該Mid 或者 CInt功能不放,而最終認為這就是VB.NET強于C#的證據,你最好去看看Microsoft.VisualBasic namespace。你將在那里發現大部分VB.NET內部命令和應用功能。這些功能在namespace中被保存之后,任何CLS兼容的語言都能使用他們,就像列表A中所顯示的那樣。這些例子削弱了我們的爭論,不是嗎?

  更好捆綁的支持就是不支持

  “VB.NET與COM實體的捆綁支持更好一些?!蔽乙仓皇强吹搅艘稽c點而已,并且我決定再也不在支持方面作任何推理。從我迄今為止所觀察到的,這不是真的。C#和VB.NET必須采用runtime callable的包裝以及等量的源代碼來執行一個早期的實體。同樣地,執行一個晚期的實體也需要相同數量的代碼。

  VB.NET使用IDE中的后臺編譯

  如果你不能找到其他的認為VB的開發環境好的例子,你至少不得不承認它的源代碼編輯是很有特點的。你能一邊打字一邊字面上排除你的代碼的錯誤。麻煩就是那些很弱智的編譯錯誤信息框總是彈出來,并且如果你把你的喇叭聲音開得過大的話,報錯的嘀嘀聲也許會嚇到你。

  Visual Studio.NET避免了這種驚嚇,直到你修改完成,并且處理了一些消極的錯誤,提示系統經過了微軟的改進:他會在那些錯誤語句的下面打上彎彎曲曲的下劃線。

  VB.NET背景編譯程序/句法檢驗器非常復雜,而且很客氣地指出你的錯誤。從某些方面看,它能更準確地告訴你如何修改你源代碼中的錯誤。當C#有它自己的語法檢查器,并且可以查出括弧的匹配,計算圓括弧的多少,顯示丟失的分號,但是它還是不能像VB.NET那樣使用簡單。再繼續討論這兩種語言的優越性確實會讓我心煩的,不過微軟的話確實是一個真理,那就是所有的.NET語言都是平等建立的。那些主張C#優于VB.NET的人(反之亦然)和那些攀比工資的開發者們一樣錯了。

  我要強調的是,那些有遠見的技術公司不再會去尋找具有某種開發語言經驗的程序員,而是去尋找那些有.NET類庫開發經驗的程序員。因此我勸你不要過分的擔心自己的選擇到底是什么:隨便找一個你覺得有興趣學的語言,認真地學好他的框架結構就行了。

  如果你最終認為我是錯的,并且市場也不要求你一定要選擇一種語言,那你就盡管嘲笑我吧。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产成人www| 上原亚衣av一区二区三区| 97精品欧美一区二区三区| 在线观看日韩www视频免费| 亚洲第一中文字幕在线观看| 欧美—级a级欧美特级ar全黄| 精品一区精品二区| 456国产精品| 久久中文字幕视频| 亚洲国产精品久久久久久| 亚洲成av人影院在线观看| 欧美一区二区色| 在线中文字幕日韩| 久久在精品线影院精品国产| 国产成人久久久| 国产精品国产三级国产专播精品人| 国产精品亚洲美女av网站| 色伦专区97中文字幕| 中文字幕无线精品亚洲乱码一区| 国产精品视频专区| 成人激情综合网| 欧美激情精品久久久久久久变态| 欧美日韩国产综合新一区| 国产精品久久久久久亚洲影视| 欧美激情欧美狂野欧美精品| 欧美日韩国产专区| 欧美日韩福利在线观看| 欧美不卡视频一区发布| 欧美大片va欧美在线播放| 98视频在线噜噜噜国产| 国产精品电影一区| 国产成人高潮免费观看精品| 日韩最新在线视频| 成人午夜黄色影院| 成人精品在线观看| 国内精品久久久久久| 91影院在线免费观看视频| 国产ts一区二区| 亚洲精品wwwww| 日韩色av导航| 欧美综合一区第一页| 国产精品久久久久久亚洲影视| 日韩精品视频在线免费观看| 久久久久久久影院| 国产精品亚洲激情| 在线看日韩av| www.亚洲免费视频| 成人激情在线观看| 欧美国产日产韩国视频| 久久久久久久久综合| 欧美乱大交xxxxx| 精品人伦一区二区三区蜜桃网站| 欧美激情国内偷拍| 欧美性猛交xxxx富婆弯腰| 日本精品一区二区三区在线| 91九色在线视频| 精品久久久久人成| 亚洲国产精品成人av| 国内精品小视频在线观看| 中文字幕日韩高清| 国产日韩在线播放| 在线播放日韩精品| 97视频网站入口| 日韩美女av在线| 亚洲成人av片在线观看| 国产精品福利在线观看网址| 亚洲欧美日韩中文在线| 九九精品视频在线| 92看片淫黄大片欧美看国产片| 久久人体大胆视频| 97在线免费观看视频| 国产91在线高潮白浆在线观看| 亚洲xxxx妇黄裸体| 国产精品一区二区性色av| 最近2019年手机中文字幕| 日韩精品有码在线观看| 国产亚洲欧美日韩美女| 欧美影院成年免费版| 亚洲日本欧美中文幕| 日韩高清中文字幕| 国产精品高潮粉嫩av| 久久国产精品久久久| 亚洲国产精品va在线看黑人动漫| 中文日韩在线视频| 日韩高清电影免费观看完整| 亚洲免费福利视频| 视频一区视频二区国产精品| 日韩av黄色在线观看| 一区二区欧美在线| 在线看日韩欧美| 最近中文字幕日韩精品| 成人福利网站在线观看| 1769国产精品| 日韩69视频在线观看| 欧美猛男性生活免费| 国产精品99久久久久久白浆小说| 欧美大片欧美激情性色a∨久久| 影音先锋欧美在线资源| 69久久夜色精品国产69| 91免费的视频在线播放| 国产中文欧美精品| 亚洲国产精品一区二区久| 亚洲性猛交xxxxwww| 91精品国产91久久久久久不卡| 国产成+人+综合+亚洲欧洲| 97视频在线观看视频免费视频| 亚洲最大成人网色| 成人天堂噜噜噜| 亚洲美女精品成人在线视频| 成人午夜黄色影院| 欧美精品福利视频| 亚洲va国产va天堂va久久| 欧美精品激情在线| 亚洲区中文字幕| 亚洲成人久久久久| 国产欧美一区二区三区在线看| 国产精品久久久久久久app| 国产亚洲aⅴaaaaaa毛片| 久久99精品久久久久久噜噜| 中文字幕日韩在线视频| 亚洲欧美在线一区二区| 91夜夜揉人人捏人人添红杏| 国产精品色悠悠| 国产精品中文字幕在线观看| 日韩av在线免费看| 国产精品亚洲片夜色在线| 97国产真实伦对白精彩视频8| 欧美www视频在线观看| 欧美精品在线免费播放| 久久97精品久久久久久久不卡| 国产精品第七影院| 欧美国产日本高清在线| 国产日韩精品一区二区| 国产精品v片在线观看不卡| 在线看欧美日韩| 日韩一区二区精品视频| 97人人做人人爱| 最近更新的2019中文字幕| 久久久国产精品亚洲一区| 亚洲欧美国产制服动漫| 国产欧亚日韩视频| 蜜臀久久99精品久久久无需会员| 欧美激情在线视频二区| 国产精品久久久久久av| 九九综合九九综合| 6080yy精品一区二区三区| 国内精品久久久久久中文字幕| 青青草成人在线| 久久久精品国产| 欧美成人性色生活仑片| 美日韩在线视频| 91精品视频播放| 欧美超级乱淫片喷水| 亚洲japanese制服美女| 青青草原一区二区| 午夜精品久久久久久久白皮肤| 亚洲深夜福利视频| 国产精品成人av性教育| 欧美精品在线观看91| 国产精品久久久久久av下载红粉| 91视频国产精品| 欧美亚洲成人xxx| 国内精品视频在线| 中文字幕亚洲精品|