当前位置: 移动技术网 > IT编程>开发语言>.net > .net开发中几个重要的认识误区小结

.net开发中几个重要的认识误区小结

2017年12月12日  | 移动技术网IT编程  | 我要评论
一、.net程序再运行一次就会更快 许多人对此的解释是:.net程序第一次运行时会被编译成本地代码,所以再次运行会更快。但遗憾的是,其实每次运行,那些il都会被翻译一次,

一、.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当然不愿意,但这不关你的事。哪一方赢了你都不会有实质上的好处。还是两个都学吧。与其在网上挑起争论,不如多学一个本事,你马上就会看到回报的。

好了,从下一次开始,将着重介绍技术上的误区。祝大家好运。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网