Classic Visual Basic Is Truly Dead

Developers love Visual Basic.  The site http://www.classicvb.org/petition/ has received well over 14,000 signatures since its inception in 2005.  In the user forums for Microsoft Visual Studio there is a place where developers can make suggestions.  This one http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3440221-bring-back-classic-visual-basic-an-improved-versi wants to bring back class Visual Basic.  Since December 2012 it had received over 7,400 votes.  Microsoft essentially told VB6 developers to kiss off this week.

The only bit of good news, in my opinion, for VB6 developers was that the VB6 runtime will continue to be supported through 2024.  So, VB6 users, you’ve got 10 years to figure out what’s next.

The VB6 runtime it is still a component of the Windows operating system and is a component shipped in Windows 8.1. It will be supported at least through 2024.

The 1100 (and growing) comments to this post are pretty much what you’d expect.  There are a lot of frustrated VB6 developers that feel Microsoft has abandoned them, at best, and, at worst, actively screwing over one of the most vibrant developer communities on the planet.

Many VB6 developers feel that .NET is inferior to VB6 but yet Microsoft is confident that VB6 developers will somehow migrate to .NET.  I just don’t see this happening.  Oh, I’m sure some will bite the bullet and learn .NET but the prospect of learning a new language and rewriting their apps does not make many happy.  VB6 was effectively killed 10 years ago and yet there are still lots of VB6 developers out there.

Many will be looking at alternatives because Microsoft is not the 95% market share behemoth it once was and VB6 was, after all, Windows only.  I you have to go to the trouble to learn a new language and rewrite all of your apps why not look at something that can work on Windows and Mac and possibly Linux as well?

I spent many years working in VB6.  I liked the language, I liked the IDE.  It had some awful quirks that drove us nuts but they were well documented quirks and were relatively easy to work around.  When I first encountered Xojo (then REALbasic) I felt like I found VB’s kissing cousin.  The IDE’s were similar, the language was similar and it was relatively easy to convert code and community was outstanding.

After twelve years of using Xojo I can say it’s superior in some ways.  First, it’s kept up to date and gets roughly 4 updates a year.  This is both a good and bad thing.  Good because when Apple (and to a lesser extant Microsoft and the Linux Distro’s) change things you’ll know that it’s just a matter of a few months, usually, before a new version of Xojo is released.  Unfortunately this makes Xojo a moving target which is part of the reason why there aren’t any books on Xojo.  It gets written and by the time it’s published it’s already out of date.

There are a number of things that VB6 was just not good at.  Subclassing controls was impossible and we never got threads to work right without causing serious crashing issues (I believe I recently saw a post where they got threading working properly in VB6).  But that still leaves all the other things that were feeling their age in VB6.

I’m biased for Xojo.  I think it’s worth taking a look at if you’re a VB6 developer.  Is Xojo perfect?  Hell no.  The developer community is much smaller and there aren’t nearly as many control options.  And some of the controls, the grid in particular, are inferior to what many are currently using in VB6.

Xojo is, in many respects, a compromise.  All of those fancy grids you see in Windows apps usually don’t exist on Mac OS X and Linux.  Mac OS X apps are generally built with a different UI mindset so the the grids aren’t nearly as busy.  If you planned on doing the same thing in Xojo you will be in for a rude awakening.  Not that you can’t make a complicated grid, but you’ll spend a lot of time getting it to work and even then I’m not sure you’ll be happy with the results.  Plus, Mac users are a finicky lot and if it looks like a Windows port they might reject your app.  But then again, does the utility you wrote for your company really need a fancy UI?

Xojo is very cool sometimes.  The ability to remote debug applications from my Mac to a Windows or Linux computer is very handy.  And the fact that a Windows machine can build for Mac OS X and Linux, for console, desktop and web apps, is also very nifty.

Take a look at Xojo (it’s free to try!).  It might be a good solution for you.  My advice is to not try to ‘convert’ your VB6 app using The Migration Assistant or any of the conversion tools available.  There are just too many language and control differences to make this feasible.  From experience, you’ll spend more time fixing code than if you had just started from scratch.

My other bit of advice is to not assume Xojo and Xojo made apps work just like VB6.  They don’t.  Take the time to read the documentation, look at the example apps, and visit the forums when you have questions (you’ll have many).  The Xojo community is very welcoming and eager to help.

Finally, I am a consultant and if you need assistance getting into Xojo we can help.  My team has rewritten dozens of commercial VB6 apps over the years.  If you’d like a quote feel free to download our VB6 analyzer tool at http://www.bkeeney.com/vb2rbconversion/.  We also have over 50 hours of Xojo and Real Studio video tutorials available to subscribers at http://xojo.bkeeney.com/XojoTraining/ where we’ve helped thousands of developers get a handle on Xojo.

If you are a VB6 developer, Xojo might be for you.  Welcome to the Xojo community!

 

7 thoughts on “Classic Visual Basic Is Truly Dead

  1. Developers still using VB6 are as strange as the millions still using Windows XP, which came out 2001. Could you imagine still using Mac OS 10.0/1???

  2. @Beatrix

    VB6 users use VB6 because that’s the latest version.

    Suppose all development of the xojo product stopped dead tomorrow.
    Would you cease developing with it right away?
    Would you refuse to maintain/enhance your existing xojo products?
    Would you be able to persuade your existing customers to fund a complete redevelopment of software to get them to where they are already?

  3. Yeah, I don’t find it strange either. VB6 still works (after a fashion) in Windows 8 and VB6 apps are guaranteed to work until 2024. If it ain’t broke why fix it?

    From personal experience I worked on a commercial accounting application written in VB6 with over a million lines of code. The owner has 3 options: 1) Convert to .NET, 2) Convert to something else (like Xojo), or 3) Do nothing for now. He’s chosen #3 because it’s the least painful right now since estimates to convert the app to .NET were $1/line of code. While I think we could convert it to Xojo for less than that it’s still a sizable commitment of capital. Who wants to spend $1,000,000 if they don’t have to?

    In the long run all he cares about is that his app still runs. He’s got 10 years, after all, to figure it out. His business may not even be around in 10 years.

  4. When .Net was released in 2002 I spent about 3 or 4 months trying to wrap my head around it. My last night of attempting .Net I had an epiphony (depending on how late the hour was it could have been caffeine induced as opposed to any real spiritual insight) “This is just like the quote from Start Trek III where Scotty says ‘The more they over think the plumbing, the easier it is to stop up the drain’.
    Within about six or seven months I eventually found REALbasic (Xojo) and I have only occasionally looked back. Usually after hitting some maddening bug in RB, but then I open a .Net book for about 30 minutes and go “Oh yeah…now I remember why I left Microsoft.” and dig back into Xojo to figure out a work around or ask for some help from the community. In fact, that is the main reason I keep any .Net books around ~ to remind me why I left!

  5. Don’t get me wrong on this but, I cant’ follow… Whats the matter with .NET? What do you struggle with?

    I’m neither against xojo nor against .NET. The reason for me to switch to .NET was, if I want to work as a Developer I have to know about .NET (or Java) and personally I think the IDE (VisualStudio) has a lot of advantages to the xojo IDE.

    Wanna know the the ugly thing? I’m currently working at company with a PC Management solution written in VB6. Which shall be moved to .NET now 😀

  6. It’s just about supporting the legacy applications for me.. In my organisation I still support develop/fix various VB applications. There is however a appetite to replace then with potentially better supported alternatives now.

Comments are closed.