다음을 통해 공유


Visual Basic 6: Old Soldiers Never Die…

General Douglas MacArthur famously said during his 1951 farewell address to the U.S. Congress that “Old soldiers never die, they just fade away.” A half century later, MacArthur’s statement could just as easily apply to programming languages. Specifically, Visual Basic.

Microsoft last month announced that it was extending “It Just Works” compatibility for Visual Basic 6 applications for the full lifetime of Windows Vista, Windows Server 2008, Windows 7 and (most importantly) Windows 8. As described on the Visual Basic 6.0 Resource Center, “the core Visual Basic 6.0 runtime will be supported for the full lifetime” of these operating systems. The commitment comprises five years of mainstream support followed by five years of extended support.

Karl Peterson is a VB6 programmer and formerly a longtime columnist at Visual Studio Magazine and Visual Basic Programming Journal (where he wrote the popular VB Corner column, among others, until 2010). Peterson notes that this announcement officially puts the lifetime of the VB6 runtime past his projected retirement. And that fact may have implications for enterprises sitting on large amounts of working VB6 code, which Peterson calls “the COBOL of the 2020s.”

“Many in the Classic VB community started out back in the pre-Windows days, and are now at the point of seeing retirement on the horizon,” he says. “And the loss of that institutional knowledge at many enterprises will only further entrench the functional code base.”

Peterson says Microsoft’s decision reflects the fact that VB6 adoption went beyond the “hobbyist or shareware type author who was the guerilla in the enterprise.” He says Microsoft was likely moved to extend support because businesses still maintain VB6 code of real value, and are in no position to immediately migrate off it.

What is your take on Microsoft’s decision to extend VB6 support? And what would you like to see Microsoft do to best serve the interests of developers and organizations engaged with VB6 code?

Comments

  • Anonymous
    February 13, 2012
    I'd like to see them support it for 64-bit Office.

  • Anonymous
    February 13, 2012
    The comment has been removed

  • Anonymous
    February 13, 2012
    Ah yes, I remember it well </Chevalier impersonation>

  • Anonymous
    February 14, 2012
    Agreed, a multi-threaded x64 VB7 would be a market slayer!   They could sell it for the next 20 years.

  • Anonymous
    February 14, 2012
    I would like to see Microsoft respecting the investments that its customers have made in VB6 code. I would like to see a free, working, migration path for VB6 code into a modern platform like VB.Net. One that creates code that compiles and works and has no dependencies on obsolete libraries. It is entirely possible. There are excellent third-party migration solutions, for instance from CodeArchitects or ArtinSoft. Microsoft should buy them and make them available free. The migration tool built into Visual Studio wasn't good enough, it required too much manual rework. And, in fact, that migration tool was removed in Visual Studio 2010. And also, that conversion tool produced code that relies on Microsoft.VisualBasic.Compatibility.VB6 and that library has now been marked obsolete in .Net 4. You can remove the "obsolete" marker on that library too.

  • Anonymous
    February 14, 2012
    That's great because I had just started programming in VB6. I have tried VB.NET, but I got so confused with its syntax and intimidating library, not to mention its verbosity compared to Classic VB. And also, I don't like how its IDE is consuming all available memory on my poor PC (I have just 256MB of RAM) causing my HD to trash like mad. Finally, I can't understand how .NET executables can be so sluggish compared to VB6 exes. I wish somebody would develop a compiler compatible with Classic VB code that produces stand-alone executables.

  • Anonymous
    February 14, 2012
    vb6 is the best when  considering the performance and productivity and the size. vb.net should be get rid of,  it is too bad when compare to c#. .net only need c#. they should give a vb7 based on win32 and winrt directly, not based on .net. .net is too slow, can't use it for product, .net is only suitable  for web. Microsoft has created a lot of languages , creating too much dispersion. Not like apple, only a obj-c. so Apple 's strength is more concentrated. So apple can beat Microsoft.

  • Anonymous
    February 15, 2012
    The comment has been removed

  • Anonymous
    February 21, 2012
    I just don't see the point in all these new things like Silverstream and EF.  Why can't they just leave things like they were in VB6?  I'm just trying to ride out my last few years until retirement.

  • Anonymous
    February 23, 2012
    Is this just support for the runtime of developed applications, or will the actual development of VB6 be possible on a Win7 machine?

  • Anonymous
    February 23, 2012
    The comment has been removed

  • Anonymous
    February 26, 2012
    The comment has been removed

  • Anonymous
    February 29, 2012
    The comment has been removed

  • Anonymous
    March 05, 2012
    I am a VB6 developer and I will never learn .Net... at home I use Ubuntu and I'm looking to re-skill on that platform or move into a non-programming role. I will continue to do VB6 consultancy work for companies that refuse to re-write their software for no business benefit.