Visual Basic .NET 继VB后要求运行在.net平台上

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

编辑本段版本演变历史

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的关系

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
注意,VB.NET中的所有过程调用都必须加圆括号,而VB6中只有调用函数或者VB6中使用Call来调用过程时
才需要加圆括号,
另外,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尺寸过大不满。
相对编译成 机器码的语言,编译成 MSIL的语言包括VB.NET比较容易被反编译。
微软提供了VB到VB.NET的自动转换器,虽几经改进,但仍无法转换全部代码,几乎所有非小型程序都需要人工修改以完成编译。为了运行优化,大多程序需要大量工作去重构。
主要是进行演算的VB程序自然会更容易升迁,但是采用了以下功能,如数据库支持,图形, unmanaged operations,或者在安装启用明细方面都很麻烦。不幸的是,这些恰好是许多商业应用的核心。
另外,Win98及其以上的系统就自带了VB6的运行时(RunTime)库,而VB.NET需要安装大得多的.NET Framework。除了 Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Editionand Windows Server 2003有自带.NET Framework,其它版本需要另外安装,这对用户和程序员都不方便。
针对开发者的不满, 微软主要做了如下努力:使新的开发更容易启动,而把已开发的VB6代码升级到VB.NET。他们的最新成果可以从扩展阅读里看到, 那里文章和源码例子主要包括:完成VB6中的常见任务如打印预览;整合VB6和VB.NET解决方案(dubbed VB Fusion),从VB6 代码转换到 VB.NET。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此间的年少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值