在过去的3 – 5年里,我一直在更新基于Visual Basic 6.0的保险应用程序和商业集成工具包。
根据微软的“ 这只是工作的政策 ”,2008年4月8日以后,IDE不再支持。
它仍然可以开发和部署Visual Basic 6.0应用程序。
什么时候不可能支持Visual Basic 6.0应用程序,还是像Cobol应用程序一样永远活着?
更新:2010年3月份的Microsoft语句: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和VB6的虚拟机,其上包含所有的服务包。 这样,即使您的桌面发展成与VB 6开发环境不兼容的东西,您仍然可以继续运行开发环境。 在Vista上安装Visual Studio 6两年前就有问题了。
对于维护之外的新发展,我会考虑使用不同的环境。 这是我的经验,你最好从一个全新的角度来看它,而不是限制自己迁移到VB.NET。 迁移的麻烦是足够的,你真的应该在最好的应用环境中进行新的开发。 这可能是VB.NET,它可能不是。
开发使用过时的技术不会是一个问题,直到它是一个问题,然后为时已晚。 你需要留在曲线的甜蜜点,你是唯一可以决定这是什么的人。 如果切换得太早,您可能会做出错误的决定,如果您等待太久,您会落后太多。 像这样的决定,使这个领域同时有趣和痛苦。
VB6中有各种类型的机器制造商开发的垂直市场软件。 VB6使用ActiveX控件,ActiveX DLL,以及消耗大多数Win32 DLLs的能力已导致许多制造商的各种组件支持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上工作一点点。
COBOL是一个公共标准,由多个供应商在多个硬件平台上进行多种实现。
VB6只支持微软,他们已经告诉你,他们不会支持新版本的Windows。 所以最终它将会死去。 COBOL可能也是如此,但是没有那么快。
我期望它不可能支持Windows 7后的VB6应用程序(我期望VB6运行时和IDE在Windows 7,但不是Windows 8)
更新日期:2012年2月17日Microsoft的Visual Basic 6.0支持声明现在包括Windows 8.它们暗示着IDE也可以在Windows 8上运行。 http://msdn.microsoft.com/nb-no/vbrun/ms788708(en-us).aspx
您将始终能够在VB 6中开发,因为Microsoft不会访问您的计算机来卸载它。 如果你不想重写你的应用程序,那么你不必/不必。
但是现在你得到的工具和你十年后的工具是一样的。 所以,随着新的计算机科学范式的出现,你可能会落后(假设你不会开发自己的VB编译器)。
通过坚持当前的VB,你的应用程序将永远是“可能的”来维护,但它会变得更加困难的每一秒。
在一方面,他们将永远活着,因为vb运行时将继续在今天存在的微软操作系统上工作。 例如,VB6应用程序仍然可以在Vista中运行。 当Microsoft停止在其操作系统上支持VB6运行时时,VB6应用程序将无法支持。
这意味着他们可能会继续活下去,就像今天一些COBOL应用程序仍然存在一样。 现在,新的代码几乎不应该用有效的死亡语言来编写,所以VB6技能的市场性将会逐渐下降,直到一些低稳态的遗留物。
使用VirtualPC / VMWare / VirtualBox等进行虚拟化,理论上应该可以支持VB6应用程序,前提是您拥有一个可以正确运行VB6的主机操作系统,您可以虚拟化以运行这些应用程序。
我正在考虑许多运行为NT4编写的软件的公司,这些公司缺乏虚拟机中新机器的驱动程序支持。
我想他们会永远在那里。 简单的原因:MS不能出货不支持他们的操作系统,因为没有大公司会购买该操作系统。
大约十年前,我开始使用Visual Basic 3.0进行专业编程,而我可能是最后一个迁移到.NET的人(我在2004年做过)。 所以你找不到比我更崇拜的平台。
我不认为Visual Basic 6.0即将消失。 这里面有很多遗留的应用程序。 公司会计软件,定制工具,你的名字。 所以应用程序将在周围。
新的Visual Basic 6.0应用程序的数量正在呈螺旋式下降,所以如果你想成为一名Visual Basic 6.0程序员,你已经过时了。
也就是说,对维护/修复/升级旧代码的人来说,会有相当强烈的需求。
我有用Visual Basic 6.0编写的软件,有大约10万用户,并且仍然很强大。 我所有的新开发都是用C#编写的,但是对于这个特定的软件,我想我会在2009年底或者2010年之前用C#重新编写它。 所以至少在那时我没有看到Windows不支持Visual Basic 6.0。
如果你仍然有操作系统和工具,永远不会“不可能”支持它们。
真正的问题是,如果你仍然想要支持他们。
VBA还需要运行Visual Basic 6.0应用程序所需的大部分功能。
而且VBA不会很快就会发生的 – 简直太多了。
所以,如果你足够的年龄在Visual Basic 6.0中开发,我不会担心它停止在你的生活中工作。
VB6可能会在保险/银行类型组织中永远存在。 硬件移出他们的领域不是问题。 他们只会得到某种形式的模拟器。 我看到一个非常老的大型机在另一个仿真器内部的仿真器内工作的应用程序。
对非技术人员来说,考虑重写和重新测试已经有效的东西通常是没有意义的。 –
欢迎来到痛苦的地狱世界…现在出去:-) –
我认为Visual Basic 6.0将继续工作很长一段时间。 首先,.NET作为商业化大规模分布式应用程序的开发平台失败了。 似乎没有人用Visual Basic 6.0 / C ++的方式来使用它。 .NET运行时仍然不可靠(从经验上讲,我们拉了一个.NET应用程序,并用C ++重新编写了这个应用程序)
不过,我同意就业能力。
松动Visual Basic 6.0是微软的一个重大错误:他们被整个面向对象所催眠。 大多数人都希望快速发展,而不是讨论漂亮的代码。
VBA已经取代了办公室内部的Visual Basic 6.0:谁想通过.NET路线来操纵Office?
运行时仍然是.NET的噩梦。
我支持20,000-30,000个桌面上的代码并分析它们的注册表。 没有任何.NET运行时(更不用说2+)的PC数量是惊人的。 没有办法可以大量分发辅助代码给他们(核心应用程序是C ++),而不需要大量的支持人员来手持重新启动。
C ++是客户端应用程序的唯一途径。
对于MS和我们来说,整个OO海市蜃楼都是一场灾难! 多么昂贵的充气机!
…和ASP.NET webforms / viewstate …我可以输入DAYS(我们的编程承包商显然是这样做的。)
我怀疑VB6应用程序的生命有限,因为雷德蒙德必须让编程人员忙于从每个人的底下拉出地毯。
如果你认为在.NET中重写你的应用程序将保证他们的不朽,只要记住DDE,OLE,COM,DAO等等。
如果一个应用程序的工作没有好的理由,它应该停止工作,没有人找到资源重写它每隔几年,但可悲的是有很多原因。
如果你开始添加机器和操作系统到应用程序将不再运行的混合,这只会变得“不可能”。
Vista将仍然运行VB6应用程序。 我的猜测是,7将继续这样做,如果不是,总是有虚拟化。
贵公司可能正在计划的任何类型的硬件/操作系统升级都需要考虑现有的LOB应用程序。 这与考虑您当前版本的Office或您的电子邮件客户端没有区别。
个人电脑真的没有到期日期。 即使你被困在XP中,你也可以得到可以使用它的硬件,并且会持续相当长的一段时间。 如果您购买预构建的机器,您可能需要简单地降级安装的操作系统。 这不是什么大不了的事情。
也就是说,在事情变得困难之前,你可能已经有3年多的时间了,再过了1到2年之后,人们就再也不想在IT部门工作了,因为所有的东西都是古老的。
一个VB6程序不过是一个Win32可执行文件,它依赖于许多随附的COM-ActiveX库。 所以它只是创建一个适当的安装程序包的问题。
顺便说一句,VB6 IDE在Windows 7 64位机器上运行完美(当然有一些小的调整)。
PS。 不幸的是,我的公司仍然运送商业和公开的VB6产品,所以 – 我碰巧知道这一点。
Visual Basic 6.0的工作,直到你需要使用线程,或者直到你将不得不面对大于4 GB的文件。
我不得不说这是你不能指责的(并且公正的)COBOL。
COBOL不断得到IBM,UNISYS,MicroFocus在多个平台上的新版本的支持,这些平台支持最新的硬件,64位寻址,支持XML等等。甚至还有一个Linux版本(OpenCobol),这个版本进展良好。
此外,语言本身也在不断发展(如果你可以用新的保留字开发同样的旧错误:)}和最新的语言规范是完全OO看这里如果你不相信我!
所以COBOL还没有死,只是过时了。 而我认为VB 6.0真的已经死了,只是自己的葬礼迟到了。