windows 何时无法支持 Visual Basic 6.0 应用程序?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/400479/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
When will it be impossible to support Visual Basic 6.0 applications?
提问by Kb.
In the last 3-5 years I have been renewing an insurance application and a commmercial integration toolkit based on Visual Basic 6.0.
在过去的 3-5 年中,我一直在更新基于 Visual Basic 6.0 的保险应用程序和商业集成工具包。
According to Microsoft's "It just works policy" the IDE is no longer supported after april 8th 2008.
根据 Microsoft 的“ It just works policy”,IDE 在 2008 年 4 月 8 日之后不再受支持。
It still works to develop and deploy Visual Basic 6.0 applications.
它仍然适用于开发和部署 Visual Basic 6.0 应用程序。
When will it be impossible to support Visual Basic 6.0 applications, or will they live forever like Cobol applications do?
何时无法支持 Visual Basic 6.0 应用程序,或者它们会像 Cobol 应用程序一样永远存在?
Update: Microsoft statement march 2010: The Visual Basic team is committed to “It Just Works” compatibility for Visual Basic 6.0 applications on Windows Vista, Windows Server 2008 including R2, and Windows 7.
更新:Microsoft 2010 年 3 月声明:Visual Basic 团队致力于在 Windows Vista、Windows Server 2008(包括 R2)和 Windows 7 上实现 Visual Basic 6.0 应用程序的“It Just Works”兼容性。
Update may 2011:
Happy 20th Birthday Visual Basic!
2011 年 5 月更新:
Visual Basic 20 岁生日快乐!
回答by duffymo
I'd say they're at risk, because the OS and hardware will evolve out from under them.
我会说它们处于危险之中,因为操作系统和硬件将从它们之下进化出来。
You can run Visual Basic 6.0 on Windows XP, but even that's close to the end of its life (it keeps being revived on its death bed).
您可以在 Windows XP 上运行 Visual Basic 6.0,但即便如此,它的生命周期也已接近尾声(它在临终前不断复活)。
Those Cobol applications still live because the mainframes they run on aren't going anywhere. "Big iron" was built during a time when computers were expensive and rare and had to run for 20-30 years. Not true with applications based on PCs and Windows, which are viewed as more disposable.
那些 Cobol 应用程序仍然存在,因为它们运行的大型机不会去任何地方。“大铁”是在计算机昂贵且稀有且必须运行 20-30 年的时期建造的。基于 PC 和 Windows 的应用程序并非如此,它们被视为一次性使用。
回答by bruceatk
If you need to continue to support VB6 I would recommend creating a VM that contains XP and VB 6 with all the service packs on it. This way you can continue to run your development environment even though your desktop evolves to something that may be incompatible with the VB 6 dev environment. Installing Visual Studio 6 on Vista had issues two years ago.
如果您需要继续支持 VB6,我建议您创建一个包含 XP 和 VB 6 以及所有服务包的 VM。这样,即使您的桌面发展到可能与 VB 6 开发环境不兼容的情况,您也可以继续运行您的开发环境。两年前在 Vista 上安装 Visual Studio 6 出现问题。
For new development beyond maintenance I would look towards using a different environment. It's been my experience that you are better off looking at it from a completely fresh view point and not restrict yourself to migrating to VB .NET. It's enough of a hassle to migrate that you really should do new development in the best environment for your application. That may be VB .NET and it may not.
对于维护之外的新开发,我会考虑使用不同的环境。根据我的经验,您最好从全新的角度来看待它,而不是局限于迁移到 VB .NET。迁移已经够麻烦了,您确实应该在最适合您的应用程序的环境中进行新的开发。那可能是 VB .NET,也可能不是。
Developing using obsolete technology is never a problem until it's a problem and then it is too late. You need to stay in the sweet spot of the curve and you are the only one that can decide what that is. If you switch too early you will probably make the wrong decision and if you wait too long you will be too far behind. It's decisions like this that makes this field fun and painful at the same time.
使用过时的技术进行开发从来都不是问题,直到它成为一个问题,然后为时已晚。您需要保持在曲线的最佳位置,而您是唯一可以决定它是什么的人。如果你换得太早,你可能会做出错误的决定,如果你等得太久,你就会落后太多。正是这样的决定让这个领域既有趣又痛苦。
回答by RS Conley
There is a ton of vertical market software developed in VB6 by manufacturers of various types of machinery. VB6 use of ActiveX controls, ActiveX DLLs, and the ability to consume most Win32 DLLs has lead to many manufacturers of various components to support VB6.
各种类型的机械制造商在 VB6 中开发了大量垂直市场软件。VB6 对 ActiveX 控件、ActiveX DLL 的使用以及使用大多数 Win32 DLL 的能力已导致各种组件的许多制造商支持 VB6。
Using VB6 and the support libraries is at least an order of magnitude faster and more reliable than the older methods of assembly on custom chips, or using C. Note that even the C/C++ developers were helped as they can consume the new support libraries as well.
使用 VB6 和支持库至少比在定制芯片上组装的旧方法或使用 C 至少快一个数量级,更可靠。请注意,即使是 C/C++ 开发人员也得到了帮助,因为他们可以使用新的支持库作为好。
Many of these applications are filled with math functions that have been tested to work for the environment and the machinery they were designed for.
许多这些应用程序都包含数学函数,这些函数已经过测试,适用于环境和它们设计的机器。
So when Microsoft made VB.NET incompatible with VB6 this was a BIG deal for many of us. Unlike the transition from VB3 to VB4-6, we have to touch our code in many place in order to get it working with .NET. So many in fact that it devolves to the same thing as rewriting your software in a new language.
因此,当 Microsoft 使 VB.NET 与 VB6 不兼容时,这对我们许多人来说都是一件大事。与从 VB3 到 VB4-6 的过渡不同,我们必须在很多地方接触我们的代码才能让它与 .NET 一起工作。事实上,它与用一种新语言重写你的软件是一样的。
For these reasons VB6 will live on for a while longer as all these machines are out there. Still needing new updates and fixes.
由于这些原因,VB6 将继续存在一段时间,因为所有这些机器都在那里。仍然需要新的更新和修复。
回答by tvanfosson
It will probably work for a good number of years, but eventually you'll get to the point where you have to maintain old hardware, running an old, unpatchable OS, in order to run the software. Meanwhile, you're missing out on all of the new framework and language goodies that get developed. Eventually, you'll have a need to fix something or add something that isn't possible in your environment and then you get to pay the entirebill for your accumulated technical debt.
它可能会工作很多年,但最终您将不得不维护旧硬件,运行旧的、不可修补的操作系统,以便运行软件。同时,您错过了所有新开发的框架和语言好东西。最终,您将需要修复某些东西或添加一些在您的环境中无法实现的东西,然后您将需要为累积的技术债务支付全部费用。
My take: you should already be working on an upgrade to a newer platform or replacement for the application. My preference is almost always to do this before I'm forced to by circumstances.
我的看法:您应该已经在升级到更新的平台或替换应用程序。我的偏好几乎总是在我被环境强迫之前这样做。
回答by MarkJ
I think Visual Basic 6.0 applications will live for a long time, like COBOL applications, and for similar reasons. Parts of my company's products are still VB6, and they won't be changed until there's a good reason. We're hoping Microsoft won't be able to drop VB6 support for a good while because too many of their enterprise customers have VB6 apps. They've already been forced to extend the support period beyond their original plans. We're hoping Raymond Chen wins over MSDN magazine - obscure joke that will only make sense if you remember Joel's postabout Microsoft's dilemmas with backward compatibility versus design purity.
我认为 Visual Basic 6.0 应用程序将存在很长时间,就像 COBOL 应用程序一样,并且出于类似的原因。我公司的部分产品仍然是VB6,除非有充分的理由,否则不会更改。我们希望微软在很长一段时间内都不会放弃对 VB6 的支持,因为他们太多的企业客户拥有 VB6 应用程序。他们已经被迫将支持期延长到超出原定计划的范围。我们希望 Raymond Chen 胜过 MSDN 杂志——这个晦涩的笑话只有在你记得Joel关于微软在向后兼容性与设计纯度方面的困境的帖子时才有意义。
If you're considering upgrading or rewriting, IMHO this questionand this questionhave some informative answers. You can mix new .NET components with existing Visual Basic 6.0 using Interop, if there are .NET features you want or even if you just want to learn .NET.
如果您正在考虑升级或重写,恕我直言,这个问题和这个问题有一些信息丰富的答案。您可以使用 Interop 将新的 .NET 组件与现有的 Visual Basic 6.0 混合使用,如果您需要 .NET 功能,或者即使您只是想学习 .NET。
The Visual Basic 6.0 newsgroupsare still pretty active so there's obviously a lot of old fogeys like me still developing in Visual Basic 6.0 :)
在Visual Basic 6.0的新闻组仍然相当有效,因此显然有很多老fogeys像我仍然在Visual Basic 6.0开发的:)
Duffymo, Bruceatk - the Visual Basic 6.0 IDE can be made to workon Vista with a bit of effort.
Duffymo, Bruceatk - 只需稍加努力,就可以使Visual Basic 6.0 IDE在 Vista 上运行。
回答by Booji Boy
I expect it will impossible to support VB6 applications post Windows 7. (I expect the VB6 runtime and IDE to work on windows 7, but not windows 8)
我希望在 Windows 7 之后支持 VB6 应用程序是不可能的。(我希望 VB6 运行时和 IDE 可以在 Windows 7 上运行,但不能在 Windows 8 上运行)
Update: 2/17/12 Microsoft's Visual Basic 6.0 support statement now includes Windows 8. They imply the IDE can be run on Windows 8 as well. http://msdn.microsoft.com/nb-no/vbrun/ms788708(en-us).aspx
更新:2/17/12 Microsoft 的 Visual Basic 6.0 支持声明现在包括 Windows 8。它们暗示 IDE 也可以在 Windows 8 上运行。 http://msdn.microsoft.com/nb-no/vbrun/ms788708(en-us).aspx
回答by Darron
COBOL is a public standard, with multiple implementations by multiple vendors on multiple hardware platforms.
COBOL 是一项公共标准,多个供应商在多个硬件平台上进行了多次实施。
VB6 is only supported by Microsoft, and they've already told you that they won't be supporting it on new versions of Windows. So eventually it will be effectively dead. The same may be true of COBOL, but nowhere near as quickly.
VB6 仅受 Microsoft 支持,并且他们已经告诉您他们不会在新版本的 Windows 上支持它。所以最终它会有效地死亡。COBOL 可能也是如此,但远没有那么快。
回答by erikkallen
I think they'll be there forever. Simple reason: MS can't ship an OS that doesn't support them because no major corporation would buy that OS.
我想他们会永远在那里。原因很简单:MS 不能发布不支持它们的操作系统,因为没有大公司会购买该操作系统。
回答by Rad
With virtualization using VirtualPC/VMWare/VirtualBox etc, it in theory should be possible to support VB6 applications provided you have a host OS that can run VB6 correctly that you can virtualize that can run these applications.
通过使用 VirtualPC/VMWare/VirtualBox 等虚拟化,理论上应该可以支持 VB6 应用程序,前提是您有一个可以正确运行 VB6 的主机操作系统,您可以虚拟化可以运行这些应用程序。
I'm thinking of many companies that run software written for NT4 that lack driver support for new machines in virtual machines.
我想到了许多运行为 NT4 编写的软件的公司,这些公司缺乏对虚拟机中新机器的驱动程序支持。
回答by Cyril Gupta
I began professional programming with Visual Basic 3.0 around a decade ago, and I was probably the last guy to migrate to .NET (I did it in 2004). So you COULDN'T find a bigger admirer of the platform than me.
大约十年前,我开始使用 Visual Basic 3.0 进行专业编程,我可能是最后一个迁移到 .NET 的人(我是在 2004 年这样做的)。所以你找不到比我更喜欢这个平台的人了。
I don't think Visual Basic 6.0 is going to go away soon. There're are a lot of legacy applications written in it. Company accounting software, customised tools, you name them. So the applications will be around.
The number of fresh Visual Basic 6.0 applications is going down in a spiral, so if you're looking to make a career as a Visual Basic 6.0 programmer, you're obsolete.
That said, there will be a pretty strong demand for people who can maintain/fix/upgrade old code.
我认为 Visual Basic 6.0 不会很快消失。有很多用它编写的遗留应用程序。公司会计软件、定制工具,你能想到的。因此,应用程序将无处不在。
新的 Visual Basic 6.0 应用程序的数量呈螺旋式下降,因此如果您想从事 Visual Basic 6.0 程序员的职业,那么您已经过时了。
也就是说,对能够维护/修复/升级旧代码的人的需求将非常强劲。
I've got software written in Visual Basic 6.0 that's got about a 100 thousand users, and is still going strong. All of my fresh development is in C#, but for this particular software, I think I will re-write it in C# by 2009 end, or 2010 beginning. So at least till then I don't see Visual Basic 6.0 being not supported by Windows.
我有一个用 Visual Basic 6.0 编写的软件,它有大约 10 万用户,而且仍然很强大。我所有的新开发都是用 C# 编写的,但是对于这个特定的软件,我想我会在 2009 年底或 2010 年初用 C# 重新编写它。所以至少在那之前我没有看到 Windows 不支持 Visual Basic 6.0。