作为亚洲最大顾问公司Tata Consultancy Services (TCS)的技术领导者,我曾在过去的两年内为不同的用户组织了不同的工程.发表一篇文章的想法一直存在于我的脑海里(我已经写了一些文章讨论在Visual Basic中设计COM组件和相关的一些问题),但是从没有认真的对待过它.从2000年9月以后,随着关于.NET的各式各样的文章出现在微软的网站上,我就开始紧紧的跟随着与.NET相关的开发了(不论是一月的Beta1版还是2001年六月的Beta2版).目前微软提供四种语言:
C#, VB.Net, Managed C++ 和Jscript 用来进行.NET平台上的应用开发和将要到来的更多的不同独立销售商开发的语言.因此一个明显的问题是哪一种语言最适合.NET?(相信我,每一次我们开会进行技术讨论的时候,这都是大家最感兴趣的问题).这里让我们对上面的主题做一个大致的讨论.
JScript
目前的市场上已经没有人再讨论Jscript(只在快速启动的公司中发现)而且我强烈的感觉到JScript将最终只有很少的用户基础.我不建议你还使用Jscript,虽然它变得更好了.
Managed C++
C++,即使以它新的managed(中间代码)形式出现,也显然落后在了诸如VB.NET和
C#的其他语言后面,因为它们更简洁的语法和易用性.因此我不认为C++开发者的队伍会有任何的增长.虽然,毫无疑问,有经验的C++使用者还将继续欣赏和使用它的强大功能,包括模板,多重代码继承和其它的终极技术.
C#
C#是结合了C++强大功能和Visual Basic易用性的新语言.它消除了C++的许多语法上的怪异之处而没有减少它的许多好处(这样就能让C++开发者轻易的转移到
C#上去).而且它在支持强大的OO(面向对象)实现方式上超过VB6的地方是毫无疑问的.
C#拥有简洁的OO语法和一个庞大的内库(与.NET和其基础类库相结合),将成为最高产的主流开发语言而且它是一种符合ECMA标准的语言,能够在许多平台上使用它.对于希望得到微软最具开发能力和主流的.NET语言的认真的开发者来说,
C#是明显的选择.
VB.NET
VB开发者多年以来一直在要求更强大的功能(继承性和多态性).现在VB.Net提供了所有这些而且它现在已经是羽翼丰满的OO语言了.要回答"我应该使用VB.Net还是
C#"-答案一直是"使用你最熟悉的语言'.但是我不认为许多人相信它.
据说VB.Net只是为了使那些上百万的VB6开发者满意,此外别无他意.但是,就象我刚才说的那样,VB.Net是一个OO语言而VB6不是.问题是如果你不需要OO,你可能将厌恶VB.NET(从VB6)的转型过程因为这不仅仅是一个语法转变的问题.还有更多的问题,一些专家称在VB.NET里你不得不比
C#多写33%行的代码.(非官方统计)还有很长一段时间我们才能看见最终的.NET产品.处于微软传统的对语言的喜爱,他们不会让它就这么废掉的(所以微软会做一些事情).
总结
如果你寻求最安全的选择,使用一次
C#吧.当然VB.NET现在一样强大而C++仍然更强大,但是出于我们已经描述过的产量,清晰和一个广泛的使用团体的原因,你不会感到后悔的.