熱門(mén)關(guān)鍵字:  聽(tīng)力密碼  新概念美語(yǔ)  單詞密碼  巧用聽(tīng)寫(xiě)練聽(tīng)力  零起點(diǎn)

.net開(kāi)發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)

來(lái)源: 愛(ài)好者網(wǎng)站 作者: 時(shí)間:2010-04-06
net如今已經(jīng)很流行,成為趕時(shí)髦的程序員的首選。但是,大量剛剛接觸.net的程序員的確存在一定的認(rèn)識(shí)誤區(qū),這里先介紹一部分。

一、.net程序再運(yùn)行一次就會(huì)更快

許多人對(duì)此的解釋是:.net程序第一次運(yùn)行時(shí)會(huì)被編譯成本地代碼,所以再次運(yùn)行會(huì)更快。但遺憾的是,其實(shí)每次運(yùn)行,那些IL都會(huì)被翻譯一次,不會(huì)保留下來(lái)。所以并不會(huì)變快。但為什么有時(shí)候真的覺(jué)得快了呢?網(wǎng)站建設(shè)知識(shí)其實(shí)所有程序都是這樣,這是Windows再為你緩存用過(guò)的組件。真正需要CPU時(shí)間的程序,多運(yùn)行是不會(huì)加快速度的。

二、.net程序運(yùn)行起來(lái)一定很慢

由于存在IL被翻譯成本地代碼的過(guò)程,.net程序的確要消耗一部分時(shí)間。網(wǎng)站建設(shè)知識(shí)但是.net程序仍然具有很高的效率,這一點(diǎn)許多Java虛擬機(jī)都比不上,這是為什么呢?因?yàn)槎鄶?shù).net程序內(nèi)含的代碼很少,幾乎都是調(diào)用.net Framework中的類(lèi)庫(kù),而這些類(lèi)庫(kù)在.net Framework安裝的時(shí)候全部編譯成為本機(jī)優(yōu)化的本地碼,并保存在程序集緩存里面。有了這個(gè)程序集緩存,你程序事實(shí)上的大部分已經(jīng)是高效的本地代碼,所以當(dāng)然快了。但是,如果你進(jìn)行大量數(shù)值計(jì)算類(lèi)的操作,還是能夠感到第一次運(yùn)算的速度明顯下降。所以建議大家將計(jì)算密集型的程序分離出來(lái),編譯成本地代碼并保存在程序集緩存中,以后使用起來(lái)就很快了。

三、C#比VB.net快,功能更強(qiáng)大

必須得承認(rèn),C#編譯器和VB.net編譯器在處理某些細(xì)節(jié)上確實(shí)有些不同,導(dǎo)致兩者編譯功能類(lèi)似的程序效率通常會(huì)有差異。但對(duì)于一個(gè)編制完整的項(xiàng)目,是不會(huì)有任何差別的。原因是首先VB.net編譯器并沒(méi)有比C#有實(shí)質(zhì)上的缺陷,其次大部分代碼都是.net Framework類(lèi)庫(kù)中的代碼,兩者調(diào)用起來(lái)沒(méi)有差別。至于C#比VB.net功能強(qiáng)大,這牽扯到心理學(xué)問(wèn)題。VB并不比C#差,也沒(méi)有“語(yǔ)法混亂”、“為了兼容而設(shè)計(jì)”之類(lèi)傳說(shuō)中的毛病。用VB.net一樣可以寫(xiě)出出色的、結(jié)構(gòu)完美的應(yīng)用程序。而且VB.net也是Visual Studio.net唯一的宏語(yǔ)言。

這里面還有一個(gè)問(wèn)題,著名的Linux下的.net——Mono中是否只支持C#?當(dāng)然不是,網(wǎng)站建設(shè)知識(shí)用VB.net開(kāi)發(fā)出的程序一樣可以在Mono中正確運(yùn)行。而且最新的Mono將包含Mono Basic語(yǔ)言,這樣,掌握VB.net語(yǔ)法的人,就可以完全在Linux等系統(tǒng)下開(kāi)發(fā)。

四、微軟只想推廣C#,他想放棄VB.net

不要聽(tīng)信杞人憂(yōu)天的話(huà)。微軟無(wú)時(shí)無(wú)刻不在推廣VB.net上用心。MSDN上關(guān)于.net開(kāi)發(fā)的文章,用VB.net做例子的比用C#還要多。微軟還專(zhuān)門(mén)推出VB技術(shù)節(jié)目——VBTV,幫助開(kāi)發(fā)者更好地了解VB.net。微軟在列出Visaual Studio中的開(kāi)發(fā)工具時(shí),Visual Basic總是排在第一個(gè)——這是微軟5年來(lái)的傳統(tǒng)。所以擔(dān)心VB.net會(huì)被淘汰的人,現(xiàn)在該松口氣了。

五、微軟用.net對(duì)抗Java,所以我也要支持.net,反對(duì)Java

千萬(wàn)不要有這種想法,MS當(dāng)然想占領(lǐng)Java的市場(chǎng),Sun當(dāng)然不愿意,網(wǎng)站建設(shè)知識(shí)但這不關(guān)你的事。哪一方贏了你都不會(huì)有實(shí)質(zhì)上的好處。還是兩個(gè)都學(xué)吧。與其在網(wǎng)上挑起爭(zhēng)論,不如多學(xué)一個(gè)本事,你馬上就會(huì)看到回報(bào)的。
最新評(píng)論共有 1 位網(wǎng)友發(fā)表了評(píng)論
發(fā)表評(píng)論
評(píng)論內(nèi)容:不能超過(guò)250字,需審核,請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。
用戶(hù)名: 密碼:
匿名?
注冊(cè)
數(shù)據(jù)結(jié)構(gòu)——C語(yǔ)言(微課版)數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)(第三版)用英語(yǔ)介紹中國(guó)傳統(tǒng)文化UML系統(tǒng)建模及系統(tǒng)分析與設(shè)計(jì)(第二版)電工電子技術(shù)實(shí)驗(yàn)指導(dǎo)書(shū)普通高校專(zhuān)升本考試——公共英語(yǔ)(一)大學(xué)生職業(yè)生涯發(fā)展與規(guī)劃電工學(xué)(多學(xué)時(shí))學(xué)習(xí)輔導(dǎo)與習(xí)題全解
平昌县| 丰镇市| 巢湖市| 太仓市| 麻江县| 鄢陵县| 常州市| 通州市| 永福县| 新巴尔虎右旗| 商水县| 沙河市| 许昌县| 黄龙县| 闻喜县| 襄城县| 綦江县| 富宁县| 吕梁市| 通城县| 彭州市| 千阳县| 新宾| 鹿邑县| 南乐县| 金乡县| 景东| 铁力市| 宜丰县| 金沙县| 剑河县| 武功县| 澄迈县| 芦山县| 来宾市| 平果县| 小金县| 明水县| 仙游县| 平顶山市| 灌阳县|