什么时候不可能支持Visual Basic 6.0应用程序?

时间:2022-08-18 16:37:03

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.

根据微软的“It just works policy”,在2008年4月8日之后不再支持IDE。

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月更新:20岁生日快乐Visual Basic!

22 个解决方案

#1


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的应用程序,这些应用程序被视为更易于使用。

#2


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的虚拟机,其中包含所有服务包。这样,即使桌面演变为可能与VB 6 dev环境不兼容的东西,您仍可以继续运行开发环境。两年前在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.

使用过时的技术开发永远不会成为问题,直到它成为一个问题,然后为时已晚。你需要保持在曲线的最佳点,你是唯一可以决定它是什么的人。如果你过早转换,你可能会做出错误的决定,如果你等待太久,你将会落后太多。像这样的决定使这个领域同时充满乐趣和痛苦。

#3


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.

因此,当微软使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将继续存在一段时间,因为所有这些机器都在那里。仍需要新的更新和修复。

#4


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 entire bill 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.

我的看法:您应该已经在升级到更新的平台或替换应用程序。在我*接受环境之前,我几乎总是喜欢这样做。

#5


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 post about 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 question and this question have 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.

如果您正在考虑升级或重写,恕我直言这个问题和这个问题有一些信息性的答案。如果有你想要的.NET功能,或者你只是想学习.NET,你可以使用Interop将新的.NET组件与现有的Visual Basic 6.0混合使用。

The Visual Basic 6.0 newsgroups are 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新闻组仍然非常活跃,所以很明显很多像我这样的老版本仍然在Visual Basic 6.0中开发:)

Duffymo, Bruceatk - the Visual Basic 6.0 IDE can be made to work on Vista with a bit of effort.

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

#6


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仅受微软支持,他们已经告诉过你,他们不会在新版本的Windows上支持它。所以最终它会有效地死亡。 COBOL可能也是如此,但远没有那么快。

#7


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

#8


You will always be able to develop in VB 6, since Microsoft won't visit your computers to uninstal it. If you don't want to rewrite your application, then you don't/won't have to.

您将始终能够在VB 6中进行开发,因为Microsoft不会访问您的计算机来卸载它。如果您不想重写您的应用程序,那么您不需要/不必。

But the tools you get now are the same as the ones you'll have ten years from now. So, you may end up falling behind as new computer science paradigms come along(assuming you won't develop your own VB compiler).

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

By sticking with current VB, your application will always be "possible" to maintain, but it'll get harder every second.

通过坚持使用当前的VB,您的应用程序将始终“可能”进行维护,但每秒都会变得更难。

#9


In one respect they'll live forever as the vb runtime will continue working on the microsoft OSes that exist today. VB6 apps still work in Vista, for example. VB6 applications will be impossible to support going forward when microsoft stops supporting the VB6 runtime on its operating systems.

在一个方面,它们将永远存在,因为vb运行时将继续在当今存在的微软操作系统上工作。例如,VB6应用程序仍可在Vista中运行。当microsoft停止在其操作系统上支持VB6运行时时,VB6应用程序将无法支持。

This means that they will probably continue to live forever, much as some COBOL applications still live today. New code should almost never be written in the effectively dead language, now, though, so the marketability of VB6 skills will be in a progressive decline until some low, steady-state remains.

这意味着它们可能会继续存在,就像今天仍然存在一些COBOL应用程序一样。现在,新代码几乎永远不会用有效的死语言编写,因此VB6技能的适销性将逐渐下降,直到一些低稳态仍然存在。

#10


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编写的软件,缺乏对虚拟机中新机器的驱动程序支持。

#11


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无法发布不支持它们的操作系统,因为没有大公司会购买该操作系统。

#12


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年做过)。所以你不可能找到比我更大的平台崇拜者。

  1. 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.

    我认为Visual Basic 6.0不会很快消失。其中编写了许多遗留应用程序。公司会计软件,定制工具,您可以为它们命名。所以应用程序将会出现。

  2. 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.

    新的Visual Basic 6.0应用程序的数量正在逐渐减少,因此,如果您希望以Visual Basic 6.0程序员的身份开展事业,那么您就已经过时了。

  3. That said, there will be a pretty strong demand for people who can maintain/fix/upgrade old code.

    也就是说,对能够维护/修复/升级旧代码的人的需求非常强烈。

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。

#13


If you still have the OS and the Tools it will never be "Impossible" to support them.

如果你仍然拥有操作系统和工具,它永远不会“不可能”支持它们。

The real questions is if you still WANT to support them.

真正的问题是,如果你仍然想要支持他们。

#14


Most of what is needed to run Visual Basic 6.0 applications is also needed for VBA.

VBA还需要运行Visual Basic 6.0应用程序所需的大部分内容。

And VBA isn't going anywhere soon - there is simply too much of it about.

VBA不会很快发生 - 它的内容太多了。

So if you're old enough to be developing in Visual Basic 6.0, I wouldn't worry about it stopping working in your lifetime.

因此,如果您已经足够大,可以在Visual Basic 6.0中进行开发,我不会担心它会在您的生命中停止工作。

#15


VB6 probably will be around forever in insurance / bank type organizations. Hardware moving out of their realm is not an issue. They will simply get some form of emulator. I've seen an application for a very old mainframe working inside an emulator which was inside of another emulator.

VB6可能将永远存在于保险/银行类型组织中。硬件走出他们的领域不是问题。他们只会得到某种形式的模拟器。我已经看到一个非常旧的大型机的应用程序在一个模拟器内部工作,该模拟器在另一个模拟器中。

It usually just doesnt make business sense for the non technicals to consider a rewrite and retest for something that already works. -

对于非技术人员来说,考虑重写和重新测试已经有效的东西通常只是商业意义上的。 -

Welcome to the world of painful hell... get out now :-) -

欢迎来到痛苦的地狱世界......现在出去:-) -

#16


I think Visual Basic 6.0 will continue to work for a long time. For a start, .NET has failed as a development platform for commercially mass distributed applications. nobody seems to use it in the way Visual Basic 6.0/C++ were/are used. The .NET runtimes are STILL not reliably there (from experience, we pulled a .NET application and recoded it in C++ for this one reason)

我认为Visual Basic 6.0将继续工作很长时间。首先,.NET作为商业大规模分布式应用程序的开发平台失败了。似乎没有人使用Visual Basic 6.0 / C ++的方式。 .NET运行时仍然不可靠(从经验来看,我们提取了一个.NET应用程序并用C ++重新编码它是出于这个原因)

I agree about employability, though.

不过,我同意就业能力。

Loosing Visual Basic 6.0 was a major mistake by Microsoft: they were hypnotised by the whole OO thing. Most people want rapid development, not pedantic arguments about beautiful code.

松散的Visual Basic 6.0是微软的一个重大错误:它们被整个OO事物所催眠。大多数人都想要快速发展,而不是关于美丽代码的迂腐论点。

VBA has replaced Visual Basic 6.0 within offices: who thinks of manipulating Office via the .NET route?

VBA已取代办公室内的Visual Basic 6.0:谁想到通过.NET路由操作Office?

#17


The runtimes are still the nightmare with .NET.

运行时仍然是.NET的噩梦。

I support code on 20,000-30,000 desktops and analyse the registry of them. The amount of PCs without any .NET runtimes (let alone 2+) is staggering. There is no way one can mass-distribute auxillary code to them (the core application is C++) without employing an army of support staff to hand-hold on the reboots.

我支持20,000-30,000个桌面上的代码并分析它们的注册表。没有任何.NET运行时(更不用说2+)的PC数量是惊人的。人们不可能将辅助代码大规模分发给他们(核心应用程序是C ++),而不需要雇佣大量的支持人员来重新启动。

C++ is the only way to go for client-side applications.

C ++是客户端应用程序的唯一方法。

What a disaster the whole OO mirage has been for MS and so us! What a cost inflator!

整个OO海市蜃楼给MS带来了多么灾难,所以我们!什么是成本充气机!

... and ASP.NET webforms/viewstate... I could type for DAYS (our programming contractors clearly did.)

...和ASP.NET webforms / viewstate ...我可以输入DAYS(我们的编程承包商明确地做了。)

#18


I suspect VB6 apps will have limited life, because Redmond has to keep its coders busy pulling the rug out from under everybody.

我怀疑VB6应用程序的生命有限,因为Redmond必须让其编码员忙着从每个人的手下拉出地毯。

If you think re-writing your apps in .NET will guarantee their immortality, just remember DDE, OLE, COM, DAO, etc. etc.

如果您认为在.NET中重写您的应用程序将保证其永生,请记住DDE,OLE,COM,DAO等。

If an app works there is no GOOD reason it should stop working without somebody finding the resources to re-write it every few years, but sadly there are plenty of reasons.

如果一个应用程序工作,没有好的理由它应该停止工作,没有人找到资源每隔几年重写一次,但遗憾的是有很多原因。

#19


It only becomes "impossible" if you start adding machines and OS's into the mix that the app will no longer run on.

如果你开始将机器和操作系统添加到应用程序将不再运行的混合中,它就变得“不可能”。

Vista will still run VB6 apps. My guess is that 7 will continue to do so as well.. and if not, there is always virtualization.

Vista仍将运行VB6应用程序。我的猜测是7还将继续这样做..如果没有,总会有虚拟化。

Any type of hardware / os upgrades that your company may be planning needs to take your existing LOB applications into consideration. This is no different than taking your current version of Office or your email client into consideration.

贵公司可能计划的任何类型的硬件/操作系统升级都需要考虑现有的LOB应用程序。这与考虑当前版本的Office或您的电子邮件客户端没什么不同。

PC's don't really have an expiration date. Even if you are stuck with XP you can get hardware that works with it and will continue to do so for quite some time. If you buy prebuilt machines, you may need to simply downgrade the installed OS. Which isn't that big a deal.

PC没有真正的到期日期。即使你坚持使用XP,你也可以获得适合它的硬件,并且会在相当长的一段时间内继续这样做。如果您购买预制机器,则可能需要简单地降级已安装的操作系统。这不是什么大不了的事。

That said, you probably have about 3 more years before things become difficult, and another 1 or 2 after that before people no longer want to work in your IT department because of how ancient everything is.

也就是说,在事情变得困难之前你可能还有3年左右的时间,之后又有1或2年之后人们不再想要在你的IT部门工作,因为一切都是古老的。

#20


A VB6 program is nothing than a Win32-executable, that relies on a number of accompanying COM-ActiveX-libraries. So its just a matter of creating a proper setup-package.

VB6程序不是Win32可执行程序,它依赖于许多附带的COM-ActiveX库。所以它只需要创建一个合适的安装程序包。

By the way, the VB6 IDE runs perfectly on a Windows 7 64 bit machine (with a couple of small tweaks of course).

顺便说一下,VB6 IDE在Windows 7 64位机器上完美运行(当然还有几个小的调整)。

PS. Unfortunately my company still ships commercial and publicly available VB6-products, so - I happen to know that.

PS。不幸的是,我的公司仍然提供商业和公共可用的VB6产品,所以 - 我碰巧知道这一点。

#21


Visual Basic 6.0 works, until you need using threads, or until you will have to face files larger than 4 GB.

Visual Basic 6.0工作,直到您需要使用线程,或直到您将不得不面对大于4 GB的文件。

#22


I have to say this is something you cannot accuse the much (and justly!) maligned COBOL for.

我不得不说这是你不能指责的那么多(并且公正!)恶意的COBOL。

COBOL is continuously supported with frequent new releases from IBM, UNISYS, MicroFocus on several platforms which support things like the latest hardware, 64bit addressing, built in support for XML etc.. There is even a Linux version (OpenCobol) which is progressing nicely.

COBOL不断得到IBM,UNISYS,MicroFocus等多个平台上的新版本的支持,这些平台支持最新的硬件,64位寻址,内置的XML支持等等。甚至有一个Linux版本(OpenCobol)正在顺利推进。

Furthermore the language itself is continuously developing (if you can call making the same old mistakes with new reserved words developing :-} ) and the latest langauge specification is fully OO look here if you don't believe me!

此外,语言本身也在不断发展(如果你可以用新的保留词开发同样的旧错误: - }),如果你不相信我的话,最新的语言规范就完全是OO了!

So COBOL is not yet dead merely archaic. Whereas I think VB 6.0 really is dead and just bit late for its own funeral.

所以COBOL还没有死,只是过时了。虽然我认为VB 6.0真的已经死了,而且自己的葬礼有点迟了。

#1


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的应用程序,这些应用程序被视为更易于使用。

#2


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的虚拟机,其中包含所有服务包。这样,即使桌面演变为可能与VB 6 dev环境不兼容的东西,您仍可以继续运行开发环境。两年前在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.

使用过时的技术开发永远不会成为问题,直到它成为一个问题,然后为时已晚。你需要保持在曲线的最佳点,你是唯一可以决定它是什么的人。如果你过早转换,你可能会做出错误的决定,如果你等待太久,你将会落后太多。像这样的决定使这个领域同时充满乐趣和痛苦。

#3


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.

因此,当微软使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将继续存在一段时间,因为所有这些机器都在那里。仍需要新的更新和修复。

#4


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 entire bill 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.

我的看法:您应该已经在升级到更新的平台或替换应用程序。在我*接受环境之前,我几乎总是喜欢这样做。

#5


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 post about 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 question and this question have 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.

如果您正在考虑升级或重写,恕我直言这个问题和这个问题有一些信息性的答案。如果有你想要的.NET功能,或者你只是想学习.NET,你可以使用Interop将新的.NET组件与现有的Visual Basic 6.0混合使用。

The Visual Basic 6.0 newsgroups are 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新闻组仍然非常活跃,所以很明显很多像我这样的老版本仍然在Visual Basic 6.0中开发:)

Duffymo, Bruceatk - the Visual Basic 6.0 IDE can be made to work on Vista with a bit of effort.

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

#6


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仅受微软支持,他们已经告诉过你,他们不会在新版本的Windows上支持它。所以最终它会有效地死亡。 COBOL可能也是如此,但远没有那么快。

#7


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

#8


You will always be able to develop in VB 6, since Microsoft won't visit your computers to uninstal it. If you don't want to rewrite your application, then you don't/won't have to.

您将始终能够在VB 6中进行开发,因为Microsoft不会访问您的计算机来卸载它。如果您不想重写您的应用程序,那么您不需要/不必。

But the tools you get now are the same as the ones you'll have ten years from now. So, you may end up falling behind as new computer science paradigms come along(assuming you won't develop your own VB compiler).

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

By sticking with current VB, your application will always be "possible" to maintain, but it'll get harder every second.

通过坚持使用当前的VB,您的应用程序将始终“可能”进行维护,但每秒都会变得更难。

#9


In one respect they'll live forever as the vb runtime will continue working on the microsoft OSes that exist today. VB6 apps still work in Vista, for example. VB6 applications will be impossible to support going forward when microsoft stops supporting the VB6 runtime on its operating systems.

在一个方面,它们将永远存在,因为vb运行时将继续在当今存在的微软操作系统上工作。例如,VB6应用程序仍可在Vista中运行。当microsoft停止在其操作系统上支持VB6运行时时,VB6应用程序将无法支持。

This means that they will probably continue to live forever, much as some COBOL applications still live today. New code should almost never be written in the effectively dead language, now, though, so the marketability of VB6 skills will be in a progressive decline until some low, steady-state remains.

这意味着它们可能会继续存在,就像今天仍然存在一些COBOL应用程序一样。现在,新代码几乎永远不会用有效的死语言编写,因此VB6技能的适销性将逐渐下降,直到一些低稳态仍然存在。

#10


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编写的软件,缺乏对虚拟机中新机器的驱动程序支持。

#11


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无法发布不支持它们的操作系统,因为没有大公司会购买该操作系统。

#12


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年做过)。所以你不可能找到比我更大的平台崇拜者。

  1. 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.

    我认为Visual Basic 6.0不会很快消失。其中编写了许多遗留应用程序。公司会计软件,定制工具,您可以为它们命名。所以应用程序将会出现。

  2. 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.

    新的Visual Basic 6.0应用程序的数量正在逐渐减少,因此,如果您希望以Visual Basic 6.0程序员的身份开展事业,那么您就已经过时了。

  3. That said, there will be a pretty strong demand for people who can maintain/fix/upgrade old code.

    也就是说,对能够维护/修复/升级旧代码的人的需求非常强烈。

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。

#13


If you still have the OS and the Tools it will never be "Impossible" to support them.

如果你仍然拥有操作系统和工具,它永远不会“不可能”支持它们。

The real questions is if you still WANT to support them.

真正的问题是,如果你仍然想要支持他们。

#14


Most of what is needed to run Visual Basic 6.0 applications is also needed for VBA.

VBA还需要运行Visual Basic 6.0应用程序所需的大部分内容。

And VBA isn't going anywhere soon - there is simply too much of it about.

VBA不会很快发生 - 它的内容太多了。

So if you're old enough to be developing in Visual Basic 6.0, I wouldn't worry about it stopping working in your lifetime.

因此,如果您已经足够大,可以在Visual Basic 6.0中进行开发,我不会担心它会在您的生命中停止工作。

#15


VB6 probably will be around forever in insurance / bank type organizations. Hardware moving out of their realm is not an issue. They will simply get some form of emulator. I've seen an application for a very old mainframe working inside an emulator which was inside of another emulator.

VB6可能将永远存在于保险/银行类型组织中。硬件走出他们的领域不是问题。他们只会得到某种形式的模拟器。我已经看到一个非常旧的大型机的应用程序在一个模拟器内部工作,该模拟器在另一个模拟器中。

It usually just doesnt make business sense for the non technicals to consider a rewrite and retest for something that already works. -

对于非技术人员来说,考虑重写和重新测试已经有效的东西通常只是商业意义上的。 -

Welcome to the world of painful hell... get out now :-) -

欢迎来到痛苦的地狱世界......现在出去:-) -

#16


I think Visual Basic 6.0 will continue to work for a long time. For a start, .NET has failed as a development platform for commercially mass distributed applications. nobody seems to use it in the way Visual Basic 6.0/C++ were/are used. The .NET runtimes are STILL not reliably there (from experience, we pulled a .NET application and recoded it in C++ for this one reason)

我认为Visual Basic 6.0将继续工作很长时间。首先,.NET作为商业大规模分布式应用程序的开发平台失败了。似乎没有人使用Visual Basic 6.0 / C ++的方式。 .NET运行时仍然不可靠(从经验来看,我们提取了一个.NET应用程序并用C ++重新编码它是出于这个原因)

I agree about employability, though.

不过,我同意就业能力。

Loosing Visual Basic 6.0 was a major mistake by Microsoft: they were hypnotised by the whole OO thing. Most people want rapid development, not pedantic arguments about beautiful code.

松散的Visual Basic 6.0是微软的一个重大错误:它们被整个OO事物所催眠。大多数人都想要快速发展,而不是关于美丽代码的迂腐论点。

VBA has replaced Visual Basic 6.0 within offices: who thinks of manipulating Office via the .NET route?

VBA已取代办公室内的Visual Basic 6.0:谁想到通过.NET路由操作Office?

#17


The runtimes are still the nightmare with .NET.

运行时仍然是.NET的噩梦。

I support code on 20,000-30,000 desktops and analyse the registry of them. The amount of PCs without any .NET runtimes (let alone 2+) is staggering. There is no way one can mass-distribute auxillary code to them (the core application is C++) without employing an army of support staff to hand-hold on the reboots.

我支持20,000-30,000个桌面上的代码并分析它们的注册表。没有任何.NET运行时(更不用说2+)的PC数量是惊人的。人们不可能将辅助代码大规模分发给他们(核心应用程序是C ++),而不需要雇佣大量的支持人员来重新启动。

C++ is the only way to go for client-side applications.

C ++是客户端应用程序的唯一方法。

What a disaster the whole OO mirage has been for MS and so us! What a cost inflator!

整个OO海市蜃楼给MS带来了多么灾难,所以我们!什么是成本充气机!

... and ASP.NET webforms/viewstate... I could type for DAYS (our programming contractors clearly did.)

...和ASP.NET webforms / viewstate ...我可以输入DAYS(我们的编程承包商明确地做了。)

#18


I suspect VB6 apps will have limited life, because Redmond has to keep its coders busy pulling the rug out from under everybody.

我怀疑VB6应用程序的生命有限,因为Redmond必须让其编码员忙着从每个人的手下拉出地毯。

If you think re-writing your apps in .NET will guarantee their immortality, just remember DDE, OLE, COM, DAO, etc. etc.

如果您认为在.NET中重写您的应用程序将保证其永生,请记住DDE,OLE,COM,DAO等。

If an app works there is no GOOD reason it should stop working without somebody finding the resources to re-write it every few years, but sadly there are plenty of reasons.

如果一个应用程序工作,没有好的理由它应该停止工作,没有人找到资源每隔几年重写一次,但遗憾的是有很多原因。

#19


It only becomes "impossible" if you start adding machines and OS's into the mix that the app will no longer run on.

如果你开始将机器和操作系统添加到应用程序将不再运行的混合中,它就变得“不可能”。

Vista will still run VB6 apps. My guess is that 7 will continue to do so as well.. and if not, there is always virtualization.

Vista仍将运行VB6应用程序。我的猜测是7还将继续这样做..如果没有,总会有虚拟化。

Any type of hardware / os upgrades that your company may be planning needs to take your existing LOB applications into consideration. This is no different than taking your current version of Office or your email client into consideration.

贵公司可能计划的任何类型的硬件/操作系统升级都需要考虑现有的LOB应用程序。这与考虑当前版本的Office或您的电子邮件客户端没什么不同。

PC's don't really have an expiration date. Even if you are stuck with XP you can get hardware that works with it and will continue to do so for quite some time. If you buy prebuilt machines, you may need to simply downgrade the installed OS. Which isn't that big a deal.

PC没有真正的到期日期。即使你坚持使用XP,你也可以获得适合它的硬件,并且会在相当长的一段时间内继续这样做。如果您购买预制机器,则可能需要简单地降级已安装的操作系统。这不是什么大不了的事。

That said, you probably have about 3 more years before things become difficult, and another 1 or 2 after that before people no longer want to work in your IT department because of how ancient everything is.

也就是说,在事情变得困难之前你可能还有3年左右的时间,之后又有1或2年之后人们不再想要在你的IT部门工作,因为一切都是古老的。

#20


A VB6 program is nothing than a Win32-executable, that relies on a number of accompanying COM-ActiveX-libraries. So its just a matter of creating a proper setup-package.

VB6程序不是Win32可执行程序,它依赖于许多附带的COM-ActiveX库。所以它只需要创建一个合适的安装程序包。

By the way, the VB6 IDE runs perfectly on a Windows 7 64 bit machine (with a couple of small tweaks of course).

顺便说一下,VB6 IDE在Windows 7 64位机器上完美运行(当然还有几个小的调整)。

PS. Unfortunately my company still ships commercial and publicly available VB6-products, so - I happen to know that.

PS。不幸的是,我的公司仍然提供商业和公共可用的VB6产品,所以 - 我碰巧知道这一点。

#21


Visual Basic 6.0 works, until you need using threads, or until you will have to face files larger than 4 GB.

Visual Basic 6.0工作,直到您需要使用线程,或直到您将不得不面对大于4 GB的文件。

#22


I have to say this is something you cannot accuse the much (and justly!) maligned COBOL for.

我不得不说这是你不能指责的那么多(并且公正!)恶意的COBOL。

COBOL is continuously supported with frequent new releases from IBM, UNISYS, MicroFocus on several platforms which support things like the latest hardware, 64bit addressing, built in support for XML etc.. There is even a Linux version (OpenCobol) which is progressing nicely.

COBOL不断得到IBM,UNISYS,MicroFocus等多个平台上的新版本的支持,这些平台支持最新的硬件,64位寻址,内置的XML支持等等。甚至有一个Linux版本(OpenCobol)正在顺利推进。

Furthermore the language itself is continuously developing (if you can call making the same old mistakes with new reserved words developing :-} ) and the latest langauge specification is fully OO look here if you don't believe me!

此外,语言本身也在不断发展(如果你可以用新的保留词开发同样的旧错误: - }),如果你不相信我的话,最新的语言规范就完全是OO了!

So COBOL is not yet dead merely archaic. Whereas I think VB 6.0 really is dead and just bit late for its own funeral.

所以COBOL还没有死,只是过时了。虽然我认为VB 6.0真的已经死了,而且自己的葬礼有点迟了。