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

ASP.NET
从ASP.NET的PHP执行速度比较谈起
基于ASP.NET2.0的非HttpModule山寨版MVC框架的实现
ASP.NET 中公有的六种验证控件
无废话C#设计模式之八:Facade
C# 中的 @ 符号的使用及注意事项
保护你的.Net代码:谁动了我的组件?
VS2008与.NET 3.5的JS智能感知和调试
关于 .Net 开发下的分布式缓存设计
在C#3.0中使用扩展方法来扩展接口
C#实现Windows 服务的制作安装和删除
C#3.0中实现隐式类型变量、匿名类型的方法
C#代码与javaScript函数的相互调用
构建 ASP.NET AJAX 开发环境
Windows 窗体的.Net 框架绘图技术
.NET 开发中的一些小技巧集锦
ASP.NET 2.0 创建母版页引来的麻烦
.NET Compact Framework 概述
.NET Compact Framework 2.0 SP1新增功能
专家访谈:从Web 2.0到Web 3.0
.Net里漂浮窗口拖动的实现方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 164 ::
收藏到网摘: 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