在过去的3到5年中,我一直在更新基于Visual Basic 6.0的保险应用程序和商业集成工具包.
根据微软的" It just works policy ",在2008年4月8日之后不再支持IDE.
它仍然可以开发和部署Visual Basic 6.0应用程序.
何时不可能支持Visual Basic 6.0应用程序,或者它们会像Cobol应用程序那样永远存在吗?
更新:Microsoft声明2010年3月:Visual Basic团队致力于Windows Vista,Windows Server 2008(包括R2和Windows 7)上的Visual Basic 6.0应用程序的"It Just Works"兼容性.
2011年5月更新:
20岁生日快乐Visual Basic!
我会说他们处于危险之中,因为操作系统和硬件将从它们下面演变而来.
您可以在Windows XP上运行Visual Basic 6.0,但即使这已接近其生命的终点(它仍然在其死亡床上恢复).
那些Cobol应用程序仍然存在,因为它们运行的大型机不会去任何地方."大铁"是在计算机昂贵且罕见并且必须运行20 - 30年的时间内建造的.不适用于基于PC和Windows的应用程序,这些应用程序被视为更易于使用.
如果你需要继续支持VB6,我建议创建一个包含XP和VB 6的虚拟机,其中包含所有服务包.这样,即使桌面演变为可能与VB 6 dev环境不兼容的东西,您仍可以继续运行开发环境.两年前在Vista上安装Visual Studio 6时遇到了问题.
对于超出维护的新开发,我希望使用不同的环境.根据我的经验,您最好从一个全新的角度来看待它,而不是限制自己迁移到VB .NET.迁移是一件麻烦事,你真的应该在最适合你应用的环境中进行新的开发.这可能是VB .NET,也可能不是.
使用过时的技术开发永远不会成为问题,直到它成为一个问题,然后为时已晚.你需要保持在曲线的最佳点,你是唯一可以决定它是什么的人.如果过早切换,你可能会做出错误的决定,如果你等待太久,你将会落后太多.像这样的决定使这个领域同时变得有趣和痛苦.
VB6由各种类型的机器制造商开发了大量的垂直市场软件.VB6使用ActiveX控件,ActiveX DLL以及消耗大多数Win32 DLL的能力已导致许多厂商的各种组件都支持VB6.
使用VB6和支持库比定制芯片上的旧组装方法或使用C更快,更可靠.请注意,即使是C/C++开发人员也可以使用新的支持库好.
这些应用程序中的许多都填充了数学函数,这些函数已经过测试,适用于环境及其设计的机器.
因此,当微软使VB.NET与VB6不兼容时,这对我们许多人来说是一笔巨大的交易.与从VB3到VB4-6的过渡不同,我们必须在很多地方触摸我们的代码才能使它与.NET一起工作.实际上很多事情都与使用新语言重写软件一样.
由于这些原因,VB6将继续存在一段时间,因为所有这些机器都在那里.仍需要新的更新和修复.
它可能会工作很多年,但最终你将达到必须维护旧硬件,运行旧的,不可修补的操作系统以运行软件的程度.与此同时,你错过了所有开发的新框架和语言好东西.最终,您需要修复某些内容或添加在您的环境中无法实现的内容,然后您需要为累积的技术债务支付全部费用.
我的看法:您应该已经在升级到更新的平台或替换应用程序.在我被迫处理环境之前,我几乎总是喜欢这样做.
我认为Visual Basic 6.0应用程序将存在很长时间,例如COBOL应用程序,并且出于类似的原因.我公司的部分产品仍然是VB6,在有充分理由之前不会更改.我们希望微软无法在很长一段时间内放弃VB6支持,因为他们的企业客户太多都拥有VB6应用程序.他们已经被迫将支持期延长到原来的计划之外.我们希望Raymond Chen能够战胜MSDN杂志 - 这个模糊不清的笑话只有在你记得Joel关于微软困境的帖子时才有意义,因为它具有向后兼容性和设计纯度.
如果你正在考虑升级或重写,恕我直言这个问题和这个问题有一些信息的答案.如果有你想要的.NET功能,或者你只是想学习.NET,你可以使用Interop将新的.NET组件与现有的Visual Basic 6.0混合使用.
在Visual Basic 6.0的新闻组仍然相当有效,因此显然有很多老fogeys和我一样在Visual Basic 6.0还在发展:)
Duffymo,Bruceatk - Visual Basic 6.0 IDE 可以通过一些努力在Vista上运行.
我希望在Windows 7之后支持VB6应用程序是不可能的.(我希望VB6运行时和IDE可以在Windows 7上运行,但不能在Windows 8上运行)
更新:2/17/12 Microsoft的Visual Basic 6.0支持声明现在包含Windows 8.它们意味着IDE也可以在Windows 8上运行. http://msdn.microsoft.com/nb-no/vbrun/ms788708(en-us).aspx
COBOL是一种公共标准,由多个供应商在多个硬件平台上实现多种实现.
VB6仅受微软支持,他们已经告诉过你,他们不会在新版本的Windows上支持它.所以最终它会有效地死亡.COBOL也可能如此,但远不如此快.