[注意]VB.Net将死?
改变一下,我们撇开所有关于VB.NET是否是一种优质语言的争论。我所知道的是,虽然微软口口声声说VB.Net是一种不错的“粘合性”语言,不过看起来,它并没有给VB.Net提供和C#一样的支持。
过去这些年来,微软一直向市场大量介绍新型语言。我发现这种现象相当令人奇怪,因为微软在语言方面进行了大量研究。当然,微软为VB.NET投入了许多支持,只是他们在使VB.Net充满生机方面还做得不够。
我们来看一些事实。首先:翻开任何一本微软赞助的杂志,你看不到任何使用VB.NET的实例,杂志上全都是关于C#的文章,除非那篇文章是专门针对VB.Net而写的,不过似乎这些文章也并不多见。
其次:你听说过与VB.NET有关的LINQ技术吗?我可从未听说过!另外:C#已发展到第3版,如果VB.Net推出第3版,也没有人会关心。诸如此类。
不仅如此。对VB.NET感兴趣的开发社区的规模很小。当然,你可以找到大量VB.Net代码样本和VB.Net程序员,但绝大多数真正优秀的代码或程序员都是C#代码或程序员,而不是VB.Net代码或程序员。
许多读者可能知道,最近我一直在采访许多潜在的雇员。那些我认为真正“资深”的雇员大多倾向于使用C#,而不是VB.NET。当然,这可能是一种巧合,但也可能不是。
说到“优秀”,我阅读了微软研究院(Microsoft Research)发布的许多材料。坦白说,那些都是相当不错的材料。当然,其中有许多内容我不懂,但我的理解水平正在逐步上升。我记得微软研究院没有发表任何有关VB.NET的材料。
实际上,与VB.NET相比,我看到更多讨论F#(再者,这是微软研究院的一个项目)的作品。微软自己的研究员也故意避开VB.Net。例如,我看到一组优秀的线程安全组件库,它们没有为了超高速性能而使用锁定——它们就是用C#编写的。
在最初推出C#时,似乎(很可能就是)微软提供了一个结束Java的策略,以帮助Java程序员轻松过渡到.Net平台。这样说有一定道理, VB.NET非常接近典型的VB语言,所以他们可以实现轻松过渡,.Net已经支持C++,那么剩下的唯一功能真正强大的语言就是Java。
我一直认为,微软用C#吸引Java程序员使用.Net,然后又对他们置之不理。相反,我看到微软投入大量资源,使C#不仅在语法上结束Java,而且在特性组上成为一种令人异常兴奋的语言。
C#不再只是与Java竞争——它在吸引VB.NET程序员方面也表现得相当不错。
现在,揭示一个残酷的事实:由于以下这些原因,我从未真正使用过C#:
- 我一直可以编写出VB.NET程序员能够维护的代码。
- VB.NET总能满足我的需求。
- 用VB.NET可以写出简明的代码样本,因为它的语法十分详细,人们不需要学习VB.Net就能够理解代码的用途。
说到这里,我读过大量的C#代码,也知道它非常优异。我确信经过几个小时的应用之后,对Java的记忆(我又一次讲到“结束Java”的陈词滥调)就会蜂拥而至;另外,对C风格的语法的深入理解也会造成影响,我马上就会感到得心应手。只是现在我还没有使用C#的动机。
暂时来说,VB.NET是我首选的.Net语言;F#也开始赢得我的心;出于商业原因,我需要研究IronPython(我怀疑,在不远的将来,我们需要一种动态的语言)。
我向自己承诺,我会在下一个小型项目(为期一天或更短)中试用C#。我觉得VB.NET不会比现在有更大的发展,虽然它不会被废弃。随着我不再把库胶合在一起,并将编码时间用于技巧研发等此类事情上,我需要一种具有前瞻性的语言。
VB能够与C++程序员编写的COM组件兼容,就像VB.NET可以方便的嵌入.Net Framework(还包括通常的Windows API)一样。F#非常优秀,但现在还缺少商业支持。
IronPython(我最后一次提到)不能与Visual Studio兼容,这是我书中的一个重点内容。那么,就只剩下C#了。我感到非常激动?并不是这样。我喜欢他们使用C#,但不是C#本身。但我感到VB.NET已经走到了极限。
文/ Justin James
此文来源于builder.com.cn,并不代表本站意见!
- 最新文章
- VB中操作Excel的一般做法(读取)[05-23]
- Visual Studio 十个有用的小插件[05-23]
- VB.NET中读取INI文件设置信息函数sdGetIniIn..[05-23]
- 一个好用的 VB 注册表操作类模块[05-23]
- Autodesk官方最新的.NET教程(七)(vb.net版..[05-23]
- Autodesk官方最新的.NET教程(六)(vb.net版..[05-23]
- 相关文章
- VB.NET中读取INI文件设置信息函数sdGetIniIn..[05-23]
- Autodesk官方最新的.NET教程(七)(vb.net版..[05-23]
- Autodesk官方最新的.NET教程(六)(vb.net版..[05-23]
- C#跟VB.net的对比[05-23]
- 用VB.NET将字节数组转换为字符串[05-23]
- 如何应用VB.NET MonthCalendar控件[05-23]
