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 (14)

  1. Dean Ziegler says:

    I'd like to see them support it for 64-bit Office.

  2. Leonardo Azpurua says:

    If they gave a dime about the needs of developers and enterprises "engaged" with VB6 code, they would just resume Classic VB as a mainstream product. They have the money (time) and the know-how to do it.

    They will not get rid of VBA, either. They did, in fact, add some 64-bit extensions to VBA for recent editions of office.

    Seen from the outside, it seems that somebody within MS has a sort of stubborn, evil plan to hurt VB6 programmers.

    Resuming Classic VB as a mainstream product would also mean best PR for them, too. The years ago, there were 6 million "professional" VB6 programmers. All of us, no matter what additional tools,languages and platforms are we using today, still have to maintain and extend VB6 applications, and most of us still hold a grunge against MS for attempting to kill a vital tool of our trade.

  3. Dave says:

    Ah yes, I remember it well </Chevalier impersonation>

  4. Karl E. Peterson says:

    Agreed, a multi-threaded x64 VB7 would be a market slayer!  

    They could sell it for the _next_ 20 years.

  5. MarkJ says:

    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.

  6. Bonnie West says:

    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.

  7. joyhn says:

    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.

  8. Winston Potgieter says:

    I think if MS can make vba work for 64bit, I am sure they can do it for VB6 with ease. I think if they release a updated version of vb6 (VB7), all of the current devs would buy it, that would equal to millions, plus the positive PR would stop the MAC revolution. It would ensure MS stays on top of the OS wars.

    As far as what is needed to make VB6 compete in todays market, gosh the problem is I can do everything any other DEV enviroment can do, quicker, easier, and it runs natively. Don't quite know what to ask for except 64 bit compilation and future OS compatibility, maybe win8 mobile compilation?

    What features would you guys ask for?

  9. Adam VB6 says:

    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.

  10. Paul says:

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

  11. JF says:

    @Adam VB6

    The rest of the world needs to look forward. There is a lot of new stuff that is extremely useful like (EF, lambda expression, LINQ, etc). Should we stop evolving to accomodate people riding out their last years before retirement or people like Bonnie West who don't understand the .Net Framework ?

  12. Saeed A. says:

    I know a large number of people that are using it now!

    even they are researching web for solutions for their headache about Crystal Reports and Other staffs in Windows 7.

    If you do such a great thing, God certainly will bless you all!

    saeed_adami@yahoo.com

  13. Mr. Marcus says:

    I'm with JF. This dinosaur should have been buried years ago. VB's single threaded model is not a viable approach for anyone developing applications that would ever show up in an Enterprise environment. Yet, there are plenty of crappy VB6 applications that companies are trying to support that should never have been let in the front door or developed internally. Modern operating systems are marching steadly toward 64-bit programming. Either evolve as developers or retire. Don't hold the rest of us back…

  14. Dean says:

    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.