淺談.net程序員,該不該學(xué)IL?_.Net教程
推薦:如何利用ajax.dll進(jìn)行asp.net ajax開(kāi)發(fā)Asynchronous JavaScript and XML(AJAX)最近掀起的高潮,要完全歸功于Google在Google Suggest和Google Maps中的使用。對(duì)ASP.NET而言,AJAX不需要回傳就能進(jìn)行服務(wù)器端處理,從而使客戶機(jī)(瀏覽器)具有豐富的服務(wù)器端能力。換句話說(shuō),它為異步指派和處理請(qǐng)
最近一直在思考一個(gè)問(wèn)題,那就是.net程序員的發(fā)展,應(yīng)該往上走還是往下走的事情。所謂往上走,我的理解是朝著系統(tǒng)架構(gòu)方向發(fā)展,從原來(lái)的編碼工作轉(zhuǎn)向架構(gòu)、設(shè)計(jì)、分析等等工作。
而往下走,是研究.net底層原理和實(shí)現(xiàn),可能大部分就是對(duì)IL和CLR的研究。
最近和一個(gè)在.net領(lǐng)域剛剛工作,并且很有激情往.net方向發(fā)展的同學(xué)討論關(guān)于學(xué)習(xí)IL代碼的事情,對(duì)方咨詢過(guò)他們的PM,表示,那個(gè)東西學(xué)不學(xué)無(wú)所謂,是否學(xué)習(xí)IL對(duì)學(xué)習(xí).net本身影響不大。
說(shuō)實(shí)話 ,我對(duì).net學(xué)習(xí)也不是很深,可能是我接觸.net比較早的緣故吧,在我剛剛開(kāi)始學(xué)習(xí).net的時(shí)候,大部分的書(shū)籍資料都很強(qiáng)調(diào)IL,可能那個(gè)時(shí)候.net剛剛問(wèn)世,人們更關(guān)心.net和native的區(qū)別,其實(shí)那個(gè)時(shí)候我聽(tīng)到的比較不是來(lái)自于.net何java,而是c#和C++。人們更多討論C#和C++孰優(yōu)孰劣。
關(guān)于架構(gòu)的事情我還不了解,關(guān)于IL的了解更少,但是我總感覺(jué),雖然我們不需要用IL來(lái)編碼,但是對(duì)IL的理解可以讓我們明白.net代碼是如何執(zhí)行的,至少我們會(huì)知道C#里的每種操作轉(zhuǎn)化后的的操作是什么,雖然IL還不是機(jī)器指令,但是不同的操作轉(zhuǎn)換到IL上對(duì)性能的影響也是可見(jiàn)一斑的。
也許,.net還不太常用在實(shí)時(shí)系統(tǒng)中,大部分都是作為service程序或者asp.net的server端代碼。也許細(xì)微的性能問(wèn)題對(duì)系統(tǒng)開(kāi)銷(xiāo)影響還不大。
所以我也開(kāi)始懷疑,研究IL是否對(duì).net很重要。就連寫(xiě)C或者C++的人都不怎么看ASM了。除非是寫(xiě)實(shí)時(shí)性很強(qiáng)的東西,比如單片機(jī),否則,底層的東西對(duì)我們已經(jīng)不重要了,尤其.NET還有GC,不少底層的東西已經(jīng)無(wú)須我們干預(yù)了。
但是無(wú)論如何,我想,學(xué)習(xí)一些IL方面的知識(shí)還是對(duì)寫(xiě).net有幫助的,不說(shuō)給你EXE或者DLL讓你分析原理這等非IL不可的工作,單就是解決程序結(jié)構(gòu)和性能問(wèn)題,學(xué)習(xí)IL還是值得的,何況IL比C#難不多少,可讀性比ASM要強(qiáng)多得多。所以,茶余飯后有時(shí)間看看IL還是學(xué)學(xué)那個(gè)東西吧。
分享:解讀軟件編程的走火入魔程序員大多都是爺們,可能不大知道女人為了小臉蛋要投入多大精力和金錢(qián)(其中也有我們程序員辛苦Coding出的血汗錢(qián))。她們每天又是如何精心在保養(yǎng)?如果你有女朋友、老婆了應(yīng)該會(huì)明白的,通常在這么個(gè)小小的面積上投資的比重很大很大,就算名花有主了嫁人了
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 揭秘實(shí)現(xiàn)ASP.NET中網(wǎng)站訪問(wèn)量統(tǒng)計(jì)的方法
- IE10下Gridview后臺(tái)設(shè)置行高不起作用解決方法
- 解析TABLE導(dǎo)入到EXCEL
- .Net筆記:System.IO之windows文件操作的深入分析
- 幾種判斷asp.net中session過(guò)期方法的比較
- 重構(gòu)CollapsibleSplitter
- c#.net函數(shù)列表
- 關(guān)于asp.net 自定義分頁(yè)控件
- ASP.NET獲取MS SQL Server安裝實(shí)例
- “您無(wú)權(quán)查看該網(wǎng)頁(yè)”的原因和解決方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-淺談.net程序員,該不該學(xué)IL?。