前几天在网上看到一篇文章,
《c# vs.vb.net:choosing your .net tool》
觉得还是对刚接触visual.net的人蛮有意义的,其中它的大概内容可以归纳为:
1.作者首先认为凭开发者在接触.net前对哪种语言的熟练程度来选择使用c#还是vb.net的看法是不正确的
2.程序员开发应用分两类,一种是快速开发(rad),偏重与应用程序的开发,另一种是系统或企业级程序开发,而vb.net和c#则是分别适用与各自的开发目的的。这主要是因为它们各自的语言特点决定的:
a)vb.net的特点是语法检查并不严格,(你在ide里面随便大小写也没关系,它自动会修正你的大小写)
b)同时vb.net在事件处理(event)和函数(function)上的语法都远远灵活与c#,譬如你维护一个按钮的click事件就要比c#的机制容易许多,
c)并且vb.net它还允许非结构化的错误处理机制,尤其是它的on error resume机制,是开发很多应用程序都会应用到的(至少在c#里面的try catch可没这功能).
但是c#也有其vb.net所不能够及的优势,例如:
a)c#有自动回收机制,在对资源、内存的释放上的能力要远远胜过vb.net,所以特别适合开发系统和企业级程序
b)在线程处理上,c#具备锁定对象,保护其被其它线程修改的能力
c)在开发文档方面,c#可以自动生成开发文档,(类似与java中的javadoc功能),这对于大型应用的集体开发很有意义
上面的特点在该文章中都提到,我自己做了一些补充,总的来说,作者建议
如果开发rad应用的话,开发者不用拘泥于自己以前熟悉vc、mfc就一定要用c#来做开发,而是可以考虑vb.net
如果是开发系统或企业级应用的话,则尽量适用c#
