何时将不再支持Visual Basic 6.0应用程序?

33

在过去的三到五年里,我一直在更新基于Visual Basic 6.0的保险应用程序和商业集成工具包。

根据微软的“它只是工作原则”,自2008年4月8日以后不再支持该IDE。

但仍然可以使用Visual Basic 6.0来开发和部署应用程序。

那么,何时将无法支持Visual Basic 6.0应用程序,或者它们会像Cobol应用程序一样永远存在呢?

更新:2010年3月微软声明:Visual Basic团队致力于在Windows Vista、Windows Server 2008(包括R2)和Windows 7上确保Visual Basic 6.0应用程序的“它只是工作”兼容性。

更新:2011年5月:祝Visual Basic20岁生日快乐!

22个回答

37

我认为它们处于危险之中,因为操作系统和硬件将不断发展。

你可以在Windows XP上运行Visual Basic 6.0,但即使如此,它也接近生命的尽头(它一直在临死时被复活)。

那些Cobol应用程序仍然存在,因为它们运行的主机不会消失。 “大型铁皮”是在计算机昂贵且稀缺并且必须运行20-30年的时期建造的。对于基于个人计算机和Windows的应用程序来说并非如此,它们被视为更加“可替换”的。


5
我不确定是否同意。IBM 360是其时代的一个好设计。你可以认为VMWare就是它的预见者。当时,IBM是一家坚实的技术公司,而不是我们今天所看到的空壳公司。 - duffymo
7
VB6 应用程序并非“处于风险中”。VB6 运行库是在 Win7 中的,因此将在 Win7 发布后至少支持 10 年。总共将支持 20 年。VB6 工具则是另一回事,如果你依赖它,就需要购买支持。请不要发布谣言和猜测。“我认为它处于风险中”是不负责任的说法。 - Cheeso
7
完全同意,Cheeso。运行时支持已经存在,如果必要可以在虚拟机中运行IDE。对于应用程序也是如此,显然微软目前的操作系统不受欢迎,他们打算在W7中提供XP-in-a-box。趋势很明显,复古风格起作用了。 - Karl E. Peterson
4
VB6多少岁了?十年?微软难道没有让它过时的权利吗,最终会过时吧? - John Saunders
8
不,实际上并不是这样。只有在微软提供一种体面的升级路径到一个替代平台之后,他们才能让VB6过时。许多大客户拥有数百万行工作、有用的VB6代码。他们不会为了好玩而重写它。微软应该购买VB Migration Partner或VB Upgrade Companion,并免费提供它们。 - MarkJ
显示剩余8条评论

28
如果您需要继续支持VB6,我建议创建一个包含XP和VB6及其所有服务包的虚拟机。这样,即使您的桌面发展到可能与VB6开发环境不兼容的地步,您仍然可以继续运行开发环境。在Vista上安装Visual Studio 6两年前就存在问题。
对于超出维护的新开发,我会考虑使用其他环境。我的经验是,从全新的角度看待问题,而不限制自己迁移到VB.NET,效果更佳。迁移已经够麻烦了,您真的应该在最适合您的应用程序的最佳环境中进行新开发。这可能是VB .NET,也可能不是。
使用过时的技术进行开发在没有问题之前永远不是问题,但一旦成为问题,那么就为时已晚。您需要保持在曲线的甜点,并且您是唯一可以决定这个位置的人。如果您太早转换,则可能做出错误的决定,如果等待时间太长,则将落后太远。这样的决策使得这个领域变得有趣又痛苦。

11

许多不同类型机械制造商开发了大量使用VB6编写的垂直市场软件。VB6使用ActiveX控件、ActiveX DLL以及调用大多数Win32 DLL的能力,使得许多不同组件的制造商都支持VB6。

与旧的基于定制芯片汇编语言或C语言的方法相比,使用VB6和支持库至少快上一个数量级,并且更可靠。注意,甚至C/C++开发人员也可以使用新的支持库。

这些应用程序中有许多充满了经过测试适用于特定环境和设计用途的数学函数。

因此,当Microsoft使VB.NET与VB6不兼容时,对我们许多人来说,这是一件大事。与从VB3到VB4-6的转换不同,我们必须在许多地方修改代码才能使其与.NET兼容。实际上,需要进行这么多修改,以至于它变成了用一种新语言重新编写软件的同一过程。

由于所有这些设备都还在,仍需要新的更新和修复,因此出于这些原因,VB6将继续存在一段时间。


9
它可能会运行很多年,但最终你将不得不维护旧硬件,运行旧的、无法修补的操作系统,以便运行软件。同时,你错过了所有新的框架和语言好处的开发。最终,你需要修复某些东西或添加一些在你的环境中不可能实现的东西,然后你就要为你累积的技术债务支付整个账单。
我的看法是:你应该已经在升级到新平台或替换应用程序方面进行工作。我几乎总是在被情况迫使之前这样做。

6
VB应用程序并不会简单地死亡——它们会进入一种奇怪的中间状态,出现无尽的问题,但重写成本太高,所以每个人都只是抱怨。最终硬件失败,你被迫(付出巨大的代价)替换所有设备。 - S.Lott
7
有人知道VirtualPC吗? - Karl E. Peterson

6
我认为Visual Basic 6.0应用程序将像COBOL应用程序一样长寿,原因类似。我们公司的部分产品仍然使用VB6,并且在没有足够好的理由之前不会更改。我们希望Microsoft不会很快停止对VB6的支持,因为他们有太多企业客户使用VB6应用程序。他们已经被迫延长了支持期限,超出了最初的计划。我们希望Raymond Chen能赢得MSDN杂志的支持-这是一个晦涩的玩笑,只有在您记得Joel's post关于Microsoft在向后兼容性与设计纯度之间的困境时才有意义。
如果您正在考虑升级或重写,我个人认为this questionthis question都提供了一些有用的答案。如果您想要.NET功能,甚至只是想学习.NET,您可以使用Interop将新的.NET组件与现有的Visual Basic 6.0混合使用。

Visual Basic 6.0新闻组仍然非常活跃,因此显然还有很多像我这样的老古董在使用Visual Basic 6.0进行开发 :)

Duffymo,Bruceatk - 通过一些努力,可以让Visual Basic 6.0 IDE在Vista上工作。


5
我认为在Windows 7之后,支持VB6应用程序将会变得不可能。(我预计VB6运行时和IDE可以在Windows 7上工作,但不能在Windows 8上工作。)
更新:2/17/12 微软的Visual Basic 6.0支持声明现在包括Windows 8。他们暗示IDE也可以在Windows 8上运行。 http://msdn.microsoft.com/nb-no/vbrun/ms788708(en-us).aspx

1
没有理由认为下一个 Windows 版本会被称为 Windows 8。他们可能会重新使用年份、字母或者景观术语,例如 Windows 2012 或 Windows TR(代表“terrific”),或者 Windows Mesa。他们也可能直接跳过一些数字,使用 Windows 21。 - wcm
4
“或者称为Windows 7++的东西...” - Booji Boy
这只是我的个人看法。当时我认为Windows 8只能本地运行托管代码(Midori http://bit.ly/cRSKb0),但现在看起来它可能只能本地运行x64代码http://bit.ly/bQdn4Y,但谁知道呢? - Booji Boy
1
@Booji 有趣的理论。你预测Windows 8不能运行Word或Excel?那些产生他们收入超过25%的软件包?不要将研究活动与核心业务混淆。 - MarkJ
看起来我对Windows 8的理解是错误的。(请查看答案中的编辑) - Booji Boy
显示剩余2条评论

5
COBOL是一个公共标准,在多个硬件平台上由多个供应商实现。
VB6仅受到Microsoft的支持,他们已经告诉你他们不会在新版本的Windows上支持它。所以最终它将被有效地淘汰。COBOL可能也会面临同样的情况,但淘汰速度远远不及VB6。

2
实际上,他们正在支持在Windows 7上的运行时,并且他们并没有表示不会在新版本的Windows上支持它。 - MarkJ
2019年8月,微软仍然在Windows 10上支持VB6编程。 - VB6 programming

4

由于微软不会访问您的计算机来卸载VB 6,因此您将始终能够开发它。如果您不想重写应用程序,那么您就不必这样做。

但是,您现在获得的工具与十年后拥有的工具相同。因此,随着新的计算机科学范例出现(假设您不会开发自己的VB编译器),您可能会落后。

通过坚持使用当前的VB,您的应用程序始终将“可能”被维护,但随着时间的推移,这将变得越来越困难。


4
在某种程度上,由于VB运行时环境将继续在现有的Microsoft操作系统上工作,因此它们将永远存在。例如,VB6应用程序仍可在Vista上运行。但是,当微软停止在其操作系统上支持VB6运行时环境时,将无法支持VB6应用程序。
这意味着它们可能会像一些COBOL应用程序一样永远存在。然而,现在几乎不应该使用这种已经死亡的语言编写新代码,因此VB6技能的市场价值将逐渐下降,直到达到某个低稳态。

4
使用VirtualPC/VMWare/VirtualBox等虚拟化技术,理论上可以支持VB6应用程序,只要您有一个能够正确运行VB6的主机操作系统并且您可以将其虚拟化以运行这些应用程序。我想到许多公司在虚拟机中运行为NT4编写的软件,但缺乏新机器的驱动程序支持。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接