有关.NET性能的几点误区,以及C#和VB.NET的关系

开发 后端
本文总结了一些刚刚接触.NET的程序员常常存在的一些有关.NET的误区,其中包括对.NET性能的误区,以及有关C#和VB.NET之间关系的误区。本文对这些误区做出了一些解答。

.NET如今已经很流行,成为赶时髦的程序员的***。但是,大量刚刚接触.NET的程序员的确存在一定的认识误区,这里先介绍一部分。

.NET性能误区之一、.NET程序再运行一次就会更快

许多人对此的解释是:.net程序***次运行时会被编译成本地代码,所以再次运行会更快。但遗憾的是,其实每次运行,那些IL都会被翻译一次,不会保留下来。所以并不会变快。但为什么有时候真的觉得快了呢?网站建设知识其实所有程序都是这样,这是Windows再为你缓存用过的组件。真正需要CPU时间的程序,多运行是不会加快速度的。

.NET性能误区之二、.NET程序运行起来一定很慢

由于存在IL被翻译成本地代码的过程,.net程序的确要消耗一部分时间。网站建设知识但是.net程序仍然具有很高的效率,这一点许多Java虚拟机都比不上,这是为什么呢?因为多数.net程序内含的代码很少,几乎都是调用.net Framework中的类库,而这些类库在.net Framework安装的时候全部编译成为本机优化的本地码,并保存在程序集缓存里面。有了这个程序集缓存,你程序事实上的大部分已经是高效的本地代码,所以当然快了。但是,如果你进行大量数值计算类的操作,还是能够感到***次运算的速度明显下降。所以建议大家将计算密集型的程序分离出来,编译成本地代码并保存在程序集缓存中,以后使用起来就很快了。

.NET性能误区之三、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的误区:微软只想推广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,所以我也要支持.net,反对Java

千万不要有这种想法,MS当然想占领Java的市场,Sun当然不愿意,网站建设知识但这不关你的事。哪一方赢了你都不会有实质上的好处。还是两个都学吧。与其在网上挑起争论,不如多学一个本事,你马上就会看到回报的。

以上便总结了一些常见的有关.NET性能,以及C#和VB.NET关系的误区和解答。

【编辑推荐】

  1. Lambda表达式:要性能还是要清晰的代码?
  2. 分析提高GDI编程性能的方法
  3. 使用Cache提高ASP.NET性能
  4. ASP.NET中的Session会产生的性能问题浅析
  5. ASP.NET优化性能技巧:数据库,字符串及其他
责任编辑:yangsai 来源: 网络转载
相关推荐

2009-07-28 17:03:55

ASP.NET VB.

2009-08-18 16:57:24

VB.NET和C#

2009-09-07 15:04:07

2009-06-12 09:22:44

VB.NET类型C#

2009-04-28 10:23:58

VB.NETC#对比

2009-07-06 11:00:56

.NET 4.0新特性.NET

2009-11-02 16:47:18

VB.NET C#

2009-11-03 14:13:23

VB.NET C#

2009-10-26 09:50:11

C#与VB.NET

2009-10-19 11:28:42

VB.NET语言.NET开发语言

2009-08-20 10:13:49

ASP.NET和C#的

2009-08-28 15:35:31

C#与VB.net

2009-02-10 09:03:59

动态语言CLRVB.NET

2009-10-29 14:02:24

VB和VB.NET比较

2009-11-02 17:12:01

VB和VB.NET

2011-05-19 09:20:21

VB.NETASP.NET

2009-10-27 13:45:32

VB.NET C#区别

2009-10-30 14:21:00

VB.NET开发语言

2010-01-07 17:18:19

VB.NET cstr

2011-06-16 15:14:17

VB.NET事件委托
点赞
收藏

51CTO技术栈公众号