正在阅读:消除.NET极度狂热下的四个误解消除.NET极度狂热下的四个误解

2004-02-14 09:34 出处:PConline 作者:AthlonXP 责任编辑:huangpeidan
3. 所有.NET语言都是平等创建的   .NET构架引进了很多新的、扩展的技术,它们主要针对各种下一代软件服务。在这些新功能中,支持多种语言成为与其它竞争平台——即Java——明显不同的一个功能。与让开发人员用一种开发语言的Java不同,.NET强调开发人员可以运用他们现有的技术,并把这些技术延伸到.NET中。   实际上,Java支持其它编程语言(如Jpython),但它们都没有引起人们广泛的关注。例如,虽然Python如今是一个受欢迎的Internet脚本语言,但是Jpython——基于Java的版本——只拥有很小一部分Python用户。如今,99%的Java应用程序都是用Java语言编写的。   另一方面,.NET强调了其运用现有的技术集合和编程语言的能力,如Visual Basic、Perl、C++、甚至Java。实际上,许多其它的.NET编译器已经开始出现了,从不知名的编译器(Scheme.NET)到确实无名的编译器(SML.NET)。   不幸的是, 理想的语言“公平竞争环境”只能是种理想。事实离这种承诺相差很远。一些语言比另外一些语言更适合.NET,在.NET中尽量运用更多这样的语言就像努力把一个正方形的木桩放到一个圆的洞中一样。这并不是说这种概念没有价值;无疑它是有价值的。但是开发人员在实现这种理想前,他们必须对这种承诺采取保留态度。例如,许多编程语言必须被改进,以使它们符合.NET的普通数据类型和运行环境。在一些语言中已经做了重大的折衷,如Perl、Smalltalk和其它语言。例如,ActiveState的Visual Perl和Visual Python不生成.NET本地代码;作为替代,它们将封装类用于传统的运行环境。正如Java的宣传语“一次编写,随处运行”一样,它从来没有把这种市场宣传变成事实,随着时间的推移, 作为“语言公平竞争环境”的.NET将同样证明,这种说法更多是一种市场宣传,而不是事实。   事实就是只有少量的语言可以支配.NET的开发。在Gartner,我们认为直到2005年,VB和C# 将支配至少80%的基于.NET的开发。所以,虽然的确你可以将Pascal或COBOL编译器用于.NET,大多数开发人员对此并不关心。   4. C# 将毁掉 Visual Basic   对.NET编程语言的争论导致了关于.NET的最后一个误解。许多开发人员认为C#将压倒Visual Basic(也许甚至毁灭它)成为.NET的首选语言。这种观点的形成有许多因素。正如我在以前的文章中谈论的那样,VB.NET不是你的父辈用过的Visual Basic(见资源)。它对Visual Basic做了很多改进,使它充分与.NET平台结合在一起。一些人认为从VB6移植到VB.NET大概就相当于移植到C#。不要相信他们这种说法。   的确,说得婉转些,VB.NET和C#都需要开发人员了解底层的.NET构架的结构及其重要的学习曲线。 这个学习曲线对于所有的.NET语言都是类似的。然而,这并不是从VB转到C#的一个强大的理由。实际上,VB程序员转到C#来利用.NET构架中的功能并没有什么强大的技术原因。   作为C家族的编程语言,C#有一定的优势,所以,对现在的C、C++和Java开发人员来说,C#更吸引人。但是VB.NET,虽然在很多方面都不同于VB6,它仍然保留VB 4GL的语法,并且是拥有全世界50%开发人员市场的一个编程工具“中心”。在Gartner,我们预计,从VB6移植到VB.NET将平均花费VB程序员约四个月的时间(取决于开发人员的情况),而从VB6移植到C#将花费约六个月的时间。这个时间段包括正式的培训,以及“实战”训练,以便熟练使用新的语言和构架。在这两种情况下,大部分时间都用来学习新的构架。在大多数情况下,从VB移植到C#只是增加了更多的变量,而没有带来重大的回报。   这并不是说C#不成功。的确,Gartner公司预计,当Visual C++开发人员采用.NET时,大部分人会积极地移植到C#。而且,第一次移植到.NET的许多开发人员将选择这种“本地”.NET编程语言作为他们主要的工具。   .NET 很新:在它今后的几个月、几年内的发展过程中,你应该预料到会碰到一些误解和错误的设想。开发人员必须将他们的期望建立在根本的事实基础上,在运用.NET的“新功能”和运用“没有被破坏的”现有的COM构架和VB语言之间进行权衡对比。(代码实验室)
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品