当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .net程序员,该不该学IL?

ASP.NET
灵活正确的实现.NET插件机制
在Asp.net中为图像加入版权信息
重构Session确实让代码简洁干净了不少
JSP与ASP.Net之间的Session值共享
如何获取当前程序文件的路径 Current Path
在.NET框架应用程序中发送电子邮件
asp.net开发wap程序必备:识别来访手机品牌型号
ASP.NET 2.0中使用自定义provider
asp.net开发wap必备:更好的匹配手机设备
用ashx动态生成文件
ASP.NET中17种正则表达式
提高ASP.Net应用程序性能的十大方法
一个通过web.Mail发送邮件的类
在DataGrid里面根据日期的不同显示new图标
Asp.Net细节性问题精萃
自定义控件中使用枚举类型的属性(原创)
.NET开发 正则表达式中的 Bug
.Net学习:IronPython分析Lambda表达式
ASP.NET中的Response对象的方法
在ASP.NET 2.0中数据绑定的实现方法

ASP.NET 中的 .net程序员,该不该学IL?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 167 ::
收藏到网摘: n/a

最近一直在思考一个问题,那就是.net程序员的发展,应该往上走还是往下走的事情。所谓往上走,我的理解是朝着系统架构方向发展,从原来的编码工作转向架构、设计、分析等等工作。

而往下走,是研究.net底层原理和实现,可能大部分就是对IL和CLR的研究。

最近和一个在.net领域刚刚工作,并且很有激情往.net方向发展的同学讨论关于学习IL代码的事情,对方咨询过他们的PM,表示,那个东西学不学无所谓,是否学习IL对学习.net本身影响不大。

说实话 ,我对.net学习也不是很深,可能是我接触.net比较早的缘故吧,在我刚刚开始学习.net的时候,大部分的书籍资料都很强调IL,可能那个时候.net刚刚问世,人们更关心.net和native的区别,其实那个时候我听到的比较不是来自于.net何java,而是c#和C++。人们更多讨论C#和C++孰优孰劣。

关于架构的事情我还不了解,关于IL的了解更少,但是我总感觉,虽然我们不需要用IL来编码,但是对IL的理解可以让我们明白.net代码是如何执行的,至少我们会知道C#里的每种操作转化后的的操作是什么,虽然IL还不是机器指令,但是不同的操作转换到IL上对性能的影响也是可见一斑的。

也许,.net还不太常用在实时系统中,大部分都是作为service程序或者asp.net的server端代码。也许细微的性能问题对系统开销影响还不大。

所以我也开始怀疑,研究IL是否对.net很重要。就连写C或者C++的人都不怎么看ASM了。除非是写实时性很强的东西,比如单片机,否则,底层的东西对我们已经不重要了,尤其.NET还有GC,不少底层的东西已经无须我们干预了。

但是无论如何,我想,学习一些IL方面的知识还是对写.net有帮助的,不说给你EXE或者DLL让你分析原理这等非IL不可的工作,单就是解决程序结构和性能问题,学习IL还是值得的,何况IL比C#难不多少,可读性比ASM要强多得多。所以,茶余饭后有时间看看IL还是学学那个东西吧。

原文地址:http://www.cnblogs.com/zeiss/archive/2009/09/01/1558139.html