Visual Basic.NET是基于
微软.NET Framework之上的
面向对象的中间
解释性语言,可以看作是Visual Basic在。Net Framework平台上的升级版本,增强了对
面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。 大多的VB.Net
程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE。VB.Net需要在。Net Framework平台上才能执行。 VB.NET的主页http://msdn.microsoft.
com/vbasic
目录
编辑本段版本演变历史@H_502_74@
Visual Basic .NET
2002年Visual Basic .NET 2002 问世,此后Visual Basic 包含在
Visual Studio套装中。
该版本又被称为VB 7.0,是随vc#和
ASP.NET一起在
2002年发布的最初始的VB.net版本。
C#被大力宣传为微软对付
JAVA的王牌,受到媒体极力关注。然而VB.NET(有时被称为
VB7)影响面不广,这导致VB
社区之外很少人关注它。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点,比如它比VB6来有一个大了十倍的
进行时(
RunTime),内存footprint也大大增加。
Visual Basic .NET 2003
该版本又被称为VB 7.1,是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台
编译器),以及运行时RunTime稳定性。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。
Visual Basic 2005(VB.NET 8)
该版本又被称为VB 8.0,是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份。但是这个版本的 Visual Studio 仍然还是面向 .NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用
微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。
Visual Basic 2008(VB.NET 9)
Visual Basic 2008即VB 9.0,
2008年
2月1日发布。通过几年的发展,它已成为一种专业化的开发语言和环境。用户可用 Visual Basic 快速创建 Windows 程序,现在还可以编写企业水平的客户/服务器程序及强大的数据库应用程序。
Visual Studio 2010(VB.NET 10)
Visual Studio 2010于2010年4月12日上市,其中包含 Visual Basic 版本 10(有时称为 VB 2010 或 VB10)。Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010
集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft sql Server,它还支持 IBM DB2和Oracle数据库。
[1]
编辑本段和VB的关系@H_502_74@
VB.net 是否该被看作VB的新版本或者是另一个完全不同的语言尚在争议中。虽然并非显而易见,但只要某个方法被弃用,它就会可会被自动转换,这说明了该语言的句法并没有出现很多突破性的变化,只是增加了对新功能的支持,比如结构化意外处理机制和短循环表达式(structured exception handling and short circuited expressions)。有一种变化会让旧用户迷惑:Integer和Long
数据类型在长度上分别倍增。16位的 integer 在VB.NET中被认为是Short,而Integer和Long分别是
32位和
64位。同样,
WindowsForms
GUI编辑器和VB Form 编辑器在外观和功能上非常相似。
出现巨大变化的是语意,从运行于基于
COM的deterministic,reference-counted的
引擎之上的
编程环境,转变为全面
面向对象的基于.NET Framework的语言。.NET Framework包括了
CLR(使用通用垃圾收集机制和
JIT编译引擎的
虚拟机)和大量的
类库。VB开发者进入VB.NET要面对新增的大量
类库的问题,虽然这在VS 2005的My 功能中已有所阐述。
上述变化表明了许多在运行及维护相关优化事宜下面的假定,一些VB6函数和库不再存在而其它的仍然可用,但是比不上.NET语言中自带的可替换的函数和库来得高效。即使它们可被编译,但大多从VB6转换而来的应用将需要一定程度上的重构(
refactoring),以全面利用新语言的优点。在有关句法、应用调试、部署和术语等方面的变化,有大量的文档可以参考。
1,比较样例:
两个例子都弹出"Hello,World"并带OK按钮的信息框,它们显示了VB和VB.Net在句法上的相似。
VB.NET:
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Hello,World")
End Sub
VB:
Private Sub Command1_Click()
MsgBox "Hello,World"
End Sub
才需要加圆括号,
另外,Command1和Button1并非必须,只是VB和VB.NET系统自动默认的控件名。
两个例子都卸载活动窗口,它们显示了VB和VB.Net在句法上的不同。
VB.NET:
Private Sub cmdClose_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles cmdClose.Click
Me.Close()
End Sub
VB:
Private Sub cmdClose_Click()
Unload Me
End Sub
2,争议:许多资深的VB程序员抱怨VB.NET,因为VB.NET 2002丢掉了许多不再发行的VB6中使用的大量语言constructs和用户界面功能,并且对保留下来的东西也改变了语意。例如,在VB.NET参数默认是以值方式传递的,而不是以引用方式。VB.NET 2002被半嘲讽半认真地称为Visual Fred或VBDOTNOT。作为对2005-03-08微软拒绝为VB6再提供维护与支持的回应,当月月底出现了反对者的请愿(petition)
VB.NET的支持者们认为新语言在很多方面比旧版本更为强大,比如它以相比早期版本更为自然、紧密和完全的方式地加入了现代
面向对象的编程范式。反对者们有不同意见,虽然VB6对对象模型支持有缺点,但是二次开发升级到VB.NET 的成本比升级后的收益要高得多。而开发软件发布因特网版本的独立程序员也对VB.NET的RunTime尺寸过大不满。
另外,Win98及其以上的系统就自带了VB6的运行时(RunTime)库,而VB.NET需要安装大得多的.NET Framework。除了
Windows Vista,Windows XP Media Center Edition,Windows XP Tablet PC Editionand
Windows Server 2003有自带.NET Framework,其它版本需要另外安装,这对用户和程序员都不方便。
VB.net 是否该被看作VB的新版本或者是另一个完全不同的语言尚在争议中。虽然并非显而易见,但只要某个方法被弃用,它就会可会被自动转换,这说明了该语言的句法并没有出现很多突破性的变化,只是增加了对新功能的支持,比如结构化意外处理机制和短循环表达式(structured exception handling and short circuited expressions)。有一种变化会让旧用户迷惑:Integer和Long
数据类型在长度上分别倍增。16位的 integer 在VB.NET中被认为是Short,而Integer和Long分别是
32位和
64位。同样,
WindowsForms
GUI编辑器和VB Form 编辑器在外观和功能上非常相似。
出现巨大变化的是语意,从运行于基于
COM的deterministic,reference-counted的
引擎之上的
编程环境,转变为全面
面向对象的基于.NET Framework的语言。.NET Framework包括了
CLR(使用通用垃圾收集机制和
JIT编译引擎的
虚拟机)和大量的
类库。VB开发者进入VB.NET要面对新增的大量
类库的问题,虽然这在VS 2005的My 功能中已有所阐述。
上述变化表明了许多在运行及维护相关优化事宜下面的假定,一些VB6函数和库不再存在而其它的仍然可用,但是比不上.NET语言中自带的可替换的函数和库来得高效。即使它们可被编译,但大多从VB6转换而来的应用将需要一定程度上的重构(
refactoring),以全面利用新语言的优点。在有关句法、应用调试、部署和术语等方面的变化,有大量的文档可以参考。
1,比较样例:
两个例子都弹出"Hello,World"并带OK按钮的信息框,它们显示了VB和VB.Net在句法上的相似。
VB.NET:
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Hello,World")
End Sub
VB:
Private Sub Command1_Click()
MsgBox "Hello,World"
End Sub
才需要加圆括号,
另外,Command1和Button1并非必须,只是VB和VB.NET系统自动默认的控件名。
两个例子都卸载活动窗口,它们显示了VB和VB.Net在句法上的不同。
VB.NET:
Private Sub cmdClose_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles cmdClose.Click
Me.Close()
End Sub
VB:
Private Sub cmdClose_Click()
Unload Me
End Sub
2,争议:许多资深的VB程序员抱怨VB.NET,因为VB.NET 2002丢掉了许多不再发行的VB6中使用的大量语言constructs和用户界面功能,并且对保留下来的东西也改变了语意。例如,在VB.NET参数默认是以值方式传递的,而不是以引用方式。VB.NET 2002被半嘲讽半认真地称为Visual Fred或VBDOTNOT。作为对2005-03-08微软拒绝为VB6再提供维护与支持的回应,当月月底出现了反对者的请愿(petition)
VB.NET的支持者们认为新语言在很多方面比旧版本更为强大,比如它以相比早期版本更为自然、紧密和完全的方式地加入了现代
面向对象的编程范式。反对者们有不同意见,虽然VB6对对象模型支持有缺点,但是二次开发升级到VB.NET 的成本比升级后的收益要高得多。而开发软件发布因特网版本的独立程序员也对VB.NET的RunTime尺寸过大不满。
另外,Win98及其以上的系统就自带了VB6的运行时(RunTime)库,而VB.NET需要安装大得多的.NET Framework。除了
Windows Vista,Windows XP Media Center Edition,Windows XP Tablet PC Editionand
Windows Server 2003有自带.NET Framework,其它版本需要另外安装,这对用户和程序员都不方便。