前几天在网上看到一篇文章,
《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#