`
happmaoo
  • 浏览: 4547778 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

.NET语言的选择 [特别推荐]

阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
导 读:每个组织迁移到.NET将选择采用哪种.NET语言。微软提供了四种语言:C#,VB.NET,可管理的C++和JScript。本文简要的讨论了我们关于这些语言和哪种语言将被使用的看法。
翻译整理:51dotnet.com(高飞家族)

原文出处:http://www.dotnetdan.com/articles/misc/LanguageChoice.htm

每个组织迁移到.NET将选择采用哪种.NET语言。微软提供了四种语言:C#, VB.NET, 可管理的C++和 JScript。本文简要的讨论了我们关于这些语言和哪种语言将被使用的看法。

简而言之,我们相信C#将占据主要的市场份额;JScript是没有竞争力的;C++将被忽视,VB.NET显现出对市场的准备不足。

失败者

JScript

我们希望JScript在很少用户的基础上结束它的使命。现在很少有关于这方面的资料而且在.NET论坛中也不大有关于JScript的内容。它已经不是主流了。不要在把钱投到这项技术上,放弃它才是最明智的。

可管理的C++

C++,即使它新的可管理的形式也将渐渐的被忽视。当越来越多的开发者趋向于语法清晰的语言,例如JScript, Java, VB.NET和C#, 使用C++ 的圈子越来越小。另一个C++ 面临的问题是他不能作为一种教学语言。无疑,尽管如此,有经验的C++开发者将继续使用它的能力,模板,多重代码的继承性和决定性的最终确定。其余的人都能轻松的应付。

胜利者们

在这里确切的说应该是胜利者。因为我们相信C# 是唯一的真正的胜利者。VB.NET处在尚无人支持的境地。

C#具有相当的优势

大多数专业的软件开发者,即使独立开发微软平台,如今也将采用一些Java语言中的形式。

Java相对于C++和VB6较有利。他去处了许多C++ 中的语法特性而没有丝毫降低它的功能(因此C++的开发者转向使用Java是非常容易的)。它在支持面向对象的工具方面要优于VB6。

Java以其清晰的面向对象的语法结构和巨大的类库在大多数主流的具有生产性的语言中占据了最高地位。正是由于这个原因,许多擅长面向对象技术的C++ 和 VB 开发者开始向Java转移。

C# 为那些原本不支持微软的人转向使用微软的开发工具提供了依据。实际上它和Java是一致的,只不过在它们的不同之处,C# 更显示出了它无可厚非的优越性。此外,它是一种ECMA标准的语言,因此它提供了跨越多平台的潜在能力。

严肃的讲,开发者想要微软的最有生产能力和主流的.NET语言,C# 是最明智的选择。

VB.NET孤立无助

还剩下VB.NET。我们仍旧对微软为什么仅仅使VB.NET成为一个更复杂的C# 而提出疑问。也许这两门语言的历史背景是知道这个转变的关键,但是我们要讨论的是技术方面的问题而不是市场的问题。

无疑,VB.NET已经成长到一个新的阶段。它现在已经成为了面向对象俱乐部中快速成长的一员。但是现在谁关心它呢?也许是一群对其不满的人和非面向对象的程序员,但他们将立刻得到它。随着C#的产生,VB.NET看上去更象是个过时的产品,而不是改进。

DecHand代码生成器能在VB.NET或C#中生成代码。如果你选择VB.NET选项,你会得到一个文件,它和C#实现同样功能,但却要比C#生成的文件大33% 左右。读某人用VB.NET编写的的代码时,冗长的语句会带来很多麻烦。当我们把这和前面所提到的原因结合起来时,我们只能希望有经验的面向对象的开发者应该喜欢C# 胜过VB.NET。

那么什么样的市场会丢掉VB.NET呢? 目前的市场却使软件公司仅使用VB来作为开发工具,并造就了一大批VB爱好者.不幸的是,说实在话VB.NET并不是为这些人所开发的。

从VB6移植

只用VB编写程序的工作间可能正期望从VB6更新到VB.NET,而且能象现有的VB升级一样容易。不幸的是,他们可能会遭到严酷的打击。尽管已经有一种工具可以自动完成操作过程,但升级到VB.NET仍然会累人的多。

正如我们上面提到的,VB.NET是一种面向对象的语言,而VB6不是。问题在于,如果你不按照面向对象的方式思考,而许多机构也正是这样做的,你就无法体会到VB.NET转换经历的乐趣。因为这不仅仅是一个结构,而是一种范例的转变,而这种转变是很昂贵的。很多组织可能会觉得如果他们想改变思维方式,他们不如改变语言。如果VB.NET被很快淘汰掉,也没什么可惊讶的。

过去曾经辉煌而如今孤寂的爱好者

最终的市场分割造就了爱好者。对他们而言,VB6是一种可选择的语言。它提供了简单而功能强大的工具来构建简单的应用程序包括GUIs。

VB.NET不是这么简单的。正像我们前面说过的那样,它是一种功能强大的面向对象的语言。但对于一般的爱好者来说,他们不想也不需要了解‘-isms’和面向对象领域中的抽象事务。他们只想把一项任务尽快完成,而忽略我们某些专业人士所要求的精细之处。

为此,过不了不久这些VB爱好者可能不会再继续使用VB6,或者他们对其不再报有太大的希望了。

VB.NET的未来

上述注解仅仅是公开发布的.NET BETA版信息的一小部分。当我们看到最终的.NET的产品距离现在还有相当一段长时间,微软会采用它们当中的一些去生产隐藏着VB.NET复杂性的Visual Studio.NET特性的产品。我们只能翘首以待。我们对此不能做什么,只能相信他们能作到,为了发展,让我们给微软以传统的爱护,这样他们就会更加努力的去做。

关于运行时间的执行

如果你看到这里与你所想的相差甚远,你可能会问“性能怎样?”,当你在决定用哪一种语言来更快的完成一项产品时,这是每一个人所自然而然所要问的。

 毫无疑问.NET完全排除了那些标准。

为了去理解为什么.NET 语言运行会一样快(或慢),我们需要去看一下编译程序,或正好是两个阶段的编译程序。

第一阶段发生在你用Visual Studio按Ctrl-Shift-B键时。在这一点上,执行一个编译,你的语言编译器正在创建中间语言(IL)。第二阶段发生在你运行了应用程序时。第二阶段有时被看作是JIT编译(我们会觉得奇怪,但是我们不能解释)。它为特别使用CPU而使用了IL和产生本土代码。

微软对第一阶段编译的IL而产生的代码并不乐观。相反,他们开始扩展他们所有的能力去优选第二阶段IL---本土代码编译。他们这样做是为了使语言的不可知的原因。所有的.NET语言在运行时间的执行上是一样的。

关于调试和编译者的支持

Visual Studio.NET提供了同样复杂的调试和编译者使用所有语言的工具。当在Managed C++译码时你不会看到更细节的东西,例如,与其他的语言相比。你可以达到你所希望达到的深度。同样,自动完成的方法也适用于其他语言。

总结

如果你想找到更安全的办法,那就使用C#。我们肯定现在VB.NET的功能如此强大,而且C#更是如此,选择它你不会后悔的,因为我们已经向你清晰地描述了它的生产性能。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=5670


分享到:
评论

相关推荐

    ASP.Net语言编写的网上书店毕业论文

    ASP.Net语言是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了一种高效、安全且易于维护的开发平台。网上书店的实现正是ASP.Net技术的一个典型应用实例,通过这种技术,可以...

    .net选择时间控件

    对于时间选择,.NET本身提供了多种控件,如asp:Calendar、asp:DatePicker等,但这些控件可能无法满足所有需求,特别是在需要高度自定义或跨平台兼容性时。这时,JavaScript库如jQuery UI的Datepicker或者Bootstrap的...

    WinForm_VB.net 多语言.zip

    在.NET框架中,开发多语言应用程序是常见的需求,特别是对于那些需要面向全球用户的软件。本项目"WinForm_VB.net 多语言.zip"提供了一个基于VB.NET和Windows Forms的多语言解决方案,它允许用户在不同语言之间切换。...

    ASP.NET实现双语言的例子

    在ASP.NET中实现双语功能是常见的需求,特别是在全球化的企业应用或者面向全球用户的网站中。这个例子将探讨如何在ASP.NET中实现双语言支持。 首先,我们需要理解双语言的基本概念。双语言网站是指一个网站可以同时...

    asp.net 新手教程 c#开发语言

    它是一种简单易学的语言,特别适合初学者。C#广泛用于开发Windows应用程序、Web服务、游戏开发、移动应用以及Web应用程序。 在标题中提到的***是.NET框架的一部分,它用于Web开发。*** Core是该框架的最新版本,它...

    图书馆管理系统 三层构架 .net语言书写

    本文将深入探讨一个特定的项目——图书馆管理系统,它采用.NET语言实现,且遵循三层架构的设计模式。三层架构是一种常用的设计策略,旨在提高系统的可扩展性和模块化,从而更好地管理和维护复杂的应用程序。 一、三...

    TSCgender.NET v2.5 特别版

    《TSCgender.NET v2.5 特别版——高效且精准的姓名与性别检测工具》 TSCgender.NET v2.5 特别版是一款专为IT行业设计的高效姓名确认和性别检测软件,其核心功能在于快速验证输入的个人信息和企业信息的有效性。在...

    供求信息网站(ASP.NET语言)

    【ASP.NET技术详解】 ASP.NET是由微软开发的一种服务器端编程框架,用于构建高性能、可伸缩的Web应用程序。...对于学习和理解Web开发,特别是ASP.NET和数据库应用,这是一个非常有价值的参考实例。

    .net framework4.0 x64_x86简体中文语言包

    这个框架版本,特别是.x64_x86简体中文语言包,旨在支持在64位和32位操作系统上运行的.NET应用程序,并且提供简体中文的语言环境,以满足中国用户的需求。 .NET Framework 4.0的主要改进和新特性包括: 1. **性能...

    进销存软件源代码vb.net语言开发

    在VB.NET语言环境下开发的进销存软件源代码,为开发者提供了一个强大的平台,可以自定义功能,满足特定业务需求。下面将详细介绍VB.NET语言在开发进销存软件中的应用及其相关知识点。 一、VB.NET简介 VB.NET是...

    .Net Core/中文/汉化/语言包

    .Net Core中文语言包是为了解决.NET Core开发者在使用英文界面时可能遇到的语言障碍,特别是对于非英语为母语的开发者来说,这个汉化包极大地提高了开发效率和用户体验。通过安装和应用这个语言包,开发者可以在...

    ASP.net 日期下拉选择空间

    在ASP.NET中,日期选择是一个常见的用户界面元素,特别是在处理表单输入和数据验证时。"ASP.NET 日期下拉选择空间"可能指的是一个特定的控件或者组件,它提供了方便的日期选择功能,以友好且用户友好的方式展示日期...

    .NET Framework 4.8 离线安装包与简体中文语言包

    总的来说,.NET Framework 4.8离线安装包是Windows用户和开发者的重要资源,特别是对于那些需要运行或开发基于.NET Framework 4.8的应用程序的用户。通过提供简体中文语言包,微软使得非英语用户也能更方便地使用和...

    asp.net下实现日期选择完整实例

    本文将深入探讨如何在ASP.NET中实现日期选择功能,并特别关注使用C#编程语言以及.NET框架的情况。 首先,ASP.NET提供了一些内置的日期控件,如`ASP.NET Calendar`控件和`ASP.NET TextBox`配合`CalendarExtender`...

    ASP.NET2.0支持多语言示例源码_dyy.zip

    这在处理用户请求时特别有用,因为可以根据用户的浏览器设置或用户的选择来提供相应的语言版本。 为了提供用户切换语言的功能,我们可以在网页上添加一个下拉列表或者链接,让用户选择他们偏好的语言。然后,通过...

    Microsoft .NET Framework 2.0 版简体中文语言包 (x86)

    这个版本的.NET Framework 2.0 特别强调了对Windows XP和Windows Server 2003的支持,同时也兼容其他操作系统。在简体中文语言包 (x86) 的背景下,该框架的中文版旨在为中文用户提供了更加友好的用户体验,包括本地...

    .net 2.0 语言包

    语言包则是.NET Framework的一部分,为用户提供本地化支持,使得应用程序的界面和文档可以显示为用户所熟悉的语言。在这个案例中,我们讨论的是.NET Framework 2.0的简体中文语言包,它主要用于将.NET框架的用户界面...

    校友录的设计与实现ASP.NET语言实现

    在本项目中,"校友录的设计与实现ASP.NET语言实现"是一个典型的Web应用程序开发实例,主要目的是通过使用ASP.NET框架,帮助开发者学习和掌握.NET语言的编程技能,特别是在构建社交网络平台方面。ASP.NET是微软公司...

    Microsoft .NET Framework 3.5 SP1 3个语言包

    安装.NET Framework 3.5 SP1时,确保选择正确对应系统架构的语言包至关重要。64位系统(x64)应使用dotnetfx35langpack_x64zh-CHS.exe,32位系统(x86)则应选用dotnetfx35langpack_x86zh-CHS.exe。对于Itanium架构...

Global site tag (gtag.js) - Google Analytics