在.net開發中幾個重要的認識誤區(1)

來源:互聯網
上載者:User
在.net開發中幾個重要的認識誤區

.net如今已經很流行,成為趕時髦的程式員的首選。但是,大量剛剛接觸.net的程式員的確存在一定的認識誤區,這裡先介紹一部分。

一、.net程式再運行一次就會更快

許多人對此的解釋是:.net程式第一次運行時會被編譯成本地代碼,所以再次運行會更快。但遺憾的是,其實每次運行,那些IL都會被翻譯一次,不會保留下來。所以並不會變快。但為什麼有時候真的覺得快了呢?其實所有程式都是這樣,這是Windows再為你緩衝用過的組件。真正需要CPU時間的程式,多運行是不會加快速度的。

二、.net程式運行起來一定很慢

由於存在IL被翻譯成本地代碼的過程,.net程式的確要消耗一部分時間。但是.net程式仍然具有很高的效率,這一點許多Java虛擬機器都比不上,這是為什麼呢?因為多數.net程式內含的代碼很少,幾乎都是調用.net Framework中的類庫,而這些類庫在.net Framework安裝的時候全部編譯成為本機最佳化的本地碼,並儲存在組件快取裡面。有了這個組件快取,你程式事實上的大部分已經是高效的本地代碼,所以當然快了。但是,如果你進行大量數值計算類的操作,還是能夠感到第一次運算的速度明顯下降。所以建議大家將計算密集型的程式分離出來,編譯成本地代碼並儲存在組件快取中,以後使用起來就很快了。

三、C#比VB.net快,功能更強大

必須得承認,C#編譯器和VB.net編譯器在處理某些細節上確實有些不同,導致兩者編譯功能類似的程式效率通常會有差異。但對於一個編製完整的項目,是不會有任何差別的。原因是首先VB.net編譯器並沒有比C#有實質上的缺陷,其次大部分代碼都是.net Framework類庫中的代碼,兩者調用起來沒有差別。至於C#比VB.net功能強大,這牽扯到心理學問題。VB並不比C#差,也沒有“文法混亂”、“為了相容而設計”之類傳說中的毛病。用VB.net一樣可以寫出出色的、結構完美的應用程式。而且VB.net也是Visual Studio.net唯一的宏語言。

這裡面還有一個問題,著名的Linux下的.net——Mono中是否只支援C#?當然不是,用VB.net開發出的程式一樣可以在Mono中正確運行。而且最新的Mono將包含Mono Basic語言,這樣,掌握VB.net文法的人,就可以完全在Linux等系統下開發。

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

不要聽信杞人憂天的話。微軟無時無刻不在推廣VB.net上用心。MSDN上關於.net開發的文章,用VB.net做例子的比用C#還要多。微軟還專門推出VB技術節目——VBTV,協助開發人員更好地瞭解VB.net。微軟在列出Visaual Studio中的開發工具時,Visual Basic總是排在第一個——這是微軟5年來的傳統。所以擔心VB.net會被淘汰的人,現在該鬆口氣了。

五、微軟用.net對抗Java,所以我也要支援.net,反對Java

千萬不要有這種想法,MS當然想佔領Java的市場,Sun當然不願意,但這不關你的事。哪一方贏了你都不會有實質上的好處。還是兩個都學吧。與其在網上挑起爭論,不如多學一個本事,你馬上就會看到回報的。

好了,從下一次開始,將著重介紹技術上的誤區。祝大家好運。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。