什么是VB.NET和VB的早期版本之间的差异? [关闭](What are the differ

2019-07-04 06:48发布

我相当熟悉此之前.NET(VB6,VBA,VBScript中...)中存在的各种形式的VB的,但还没有深入到甜蜜的新口味是VB.NET。

因此,我将非常感激,如果有人提供的由VB.NET带来的语言的主要区别一个简单的总结。

Answer 1:

假设当你说动你的意思是VB 6蛮大的。 原来的Visual Basic不使用.NET运行环境,虽然他们有相似的名字,他们很太不同的语言。 Visual Basic是无法完全面向对象的,但VB.net是。 错误处理两者之间千差万别。 VB.Net已尝试在传统VB使用上的错误GOTO语句catch块。 这些都只是一些区别。 这样的例子不胜枚举和。

这里是描述一个链接“视觉弗雷德”名称。



Answer 2:

哦恐怖。

很抱歉,但现有的所有答案都错在一些这样或那样。 乔尔的其实是最好的一群,但其措辞较差鼓励误解(对不起,乔尔 - 但只是看你的意见!):

用VB对比VB.Net是不可能的,因为它们是同一个东西。

这酷似说,“水果对比苹果是不可能的,因为他们是同样的事情,”正因为如此不是非常有帮助; 特别是因为许多人( 仍然 )使用“VB”同义词“VB6。”

因此,清除了一点东西:两VB6和VB.NET是Visual Basic语言家族的方言(让我们称呼它)。 他们的相似之处是肤浅的最好; 人谁实际使用他们两个(而不是只看着有些源代码)会注意到,除了一个粗略的语法相似,他们是完全不同的野兽。 使用它们是完全不同的体验。

在他们实际上彼此相似的唯一方面(从开所说的句法相似性)是,它们都非常适合进行快速应用开发(RAD)......至少,直到你已经尝试动态语言如Python或Ruby结合GUI敏捷框架,如鞋。 但是,即使RAD环境中去有一个巨大的差异。

VB6已基本开发的RAD,没有别的。 而在它的时间,VB6是在标做的RAD,以大比分的最好的事情。 VB.NET,在另一方面, 没有挑出来RAD开发-任何超过C#。 两者都是通过一个通用框架的支持,就像Java,但与愿望,以改善一些Java的缺点高端的语言,如它在切割很多(引进的代表,事件,属性的样板代码冗长外,操作符重载,自动装箱的名字,但很少有这样的功能)。

虽然VB.NET是一个很大程度的向后兼容,这是很大的误导。 首先,没有理智的人会说,C和C ++是相同的语言,只是因为很多C程序的编译关于C ++编译器的罚款。 因为没有完整的VB6代码是有效的VB.NET VB和VB.NET之间的差异甚至被一些度量大。 它需要一个自动化的“升级助手”,以产生有效的.NET代码,而经验表明,这种升级助手甚至中型项目不适合,主要是因为它的直译打破了许多指导方针和.NET世界的假设。

他说,像基比,即VB6和VB.NET的编译器是“基本相同”是平出错误。 同样,声称“.NET运行时不发生变化的语言”完全不得要领。 当然,这是在语言的变化。 VB.NET完全围绕打造.NET框架,它不只是任何其他库。

他声称,

如果VB.Net本来是一种新的语言,而不是旧的语​​言的只是一个新的版本,他们早就摆脱了“对错误转到”他们没有的。

- 这同样是误导性的。 “对错误转到”被列入完全向后兼容(升级助手无法转换旧式的错误处理成基于异常的错误处理)。

让我来总结一下这个相当长的帖子的重点,因此不会迷路:就像Java和JavaScript,VB6和VB.NET有非常相似的名称(和大同小异的理由,太:市场营销),但这完全是误导。 有几个语法相似之处。 除此之外,肤浅以及引擎盖下, 他们是完全不同的语言



Answer 3:

VB.Net仅仅是Visual Basic中的预期与.NET Framework的工作版本。 这也使得其他的修改和补充的语言,而是用VB对比VB.Net是不可能的,因为它们是同一个东西。

你可以做的是VB.Net用VBA或VB6,或者VBScript或Visual Basic的一些其他变种的对比。 但VB.Net 还是 VB的一个可能的变型。 事实上,如果你看一下自身产品的语言部分,他们现在叫的最新版本VB9,今年晚些时候VB10推出。

以同样的方式,你不能对比“Pespi”和可乐,因为百事可乐可乐,但你可以对比百事可乐和可口可乐。

这就是说,VB的VB.Net方言带来显著一些变化和改进的语言,包括面向对象和功能的范式真正的支持,到地道的VB.Net代码往往是从VB6时代的代码非常不同点。



Answer 4:

有相当多的 - 举不胜举,我认为。 你几乎可以考虑VB.Net完全不同的语言,共享一些类似的语法VB。 最大的变化是熟悉.NET类。



Answer 5:

VB.Net是使用点NET框架/托管代码的新版本。

VB是旧版本。



Answer 6:

VB编译为p代码或本机代码,VB.net编译成MSIL。 也语法还是有些不同。 至于VB.net是VB用户和程序的升级路径,有一群助手对象和功能,使得从VB移动代码VB.net容易的,这些对象和函数通常不以书面在其他程序中使用。网络语言。



文章来源: What are the differences between VB.NET and previous versions of VB? [closed]