我相当熟悉此之前.NET(VB6,VBA,VBScript中...)中存在的各种形式的VB的,但还没有深入到甜蜜的新口味是VB.NET。
因此,我将非常感激,如果有人提供的由VB.NET带来的语言的主要区别一个简单的总结。
我相当熟悉此之前.NET(VB6,VBA,VBScript中...)中存在的各种形式的VB的,但还没有深入到甜蜜的新口味是VB.NET。
因此,我将非常感激,如果有人提供的由VB.NET带来的语言的主要区别一个简单的总结。
假设当你说动你的意思是VB 6蛮大的。 原来的Visual Basic不使用.NET运行环境,虽然他们有相似的名字,他们很太不同的语言。 Visual Basic是无法完全面向对象的,但VB.net是。 错误处理两者之间千差万别。 VB.Net已尝试在传统VB使用上的错误GOTO语句catch块。 这些都只是一些区别。 这样的例子不胜枚举和。
这里是描述一个链接“视觉弗雷德”名称。
哦恐怖。
很抱歉,但现有的所有答案都错在一些这样或那样。 乔尔的其实是最好的一群,但其措辞较差鼓励误解(对不起,乔尔 - 但只是看你的意见!):
用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有非常相似的名称(和大同小异的理由,太:市场营销),但这完全是误导。 有几个语法相似之处。 除此之外,肤浅以及引擎盖下, 他们是完全不同的语言 。
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时代的代码非常不同点。
有相当多的 - 举不胜举,我认为。 你几乎可以考虑VB.Net完全不同的语言,共享一些类似的语法VB。 最大的变化是熟悉.NET类。
VB.Net是使用点NET框架/托管代码的新版本。
VB是旧版本。
VB编译为p代码或本机代码,VB.net编译成MSIL。 也语法还是有些不同。 至于VB.net是VB用户和程序的升级路径,有一群助手对象和功能,使得从VB移动代码VB.net容易的,这些对象和函数通常不以书面在其他程序中使用。网络语言。