Classic VB Corner

Microsoft's VB6 Support Strategy?

After years neglecting the VB6 community, Microsoft seems to be missing something. Us!

A couple months ago, it came to my attention that numerous tools and samples for VB5/6 had gone AWOL from Microsoft's Web site. Thankfully, I'd squirreled them away on my own Web site, and also on numerous other backup media. I dropped a note to a friend in Redmond, who put me in touch with someone on the VB team.

I think the VB team was actually in the process of building their new Visual Basic 6.0 Resource Center site on MSDN at the time, as they were apparently excited to find that the backups still existed and they could restore the files directly.


I started prowling around the rest of the new support site, which prominently displays a link to the familiar Support Statement for Visual Basic 6.0 on Windows. I also found links to the documentation, which was nice. (It would be even nicer if they would just release the October 2001 MSDN libraries into the wild, as a free download, wouldn't it?)

But what really caught my eye was another very prominent link: Video: What is Microsoft's VB6 Strategy?

Unfortunately, if you click that link, you will find that Microsoft marketing may be standing in the way of you actually receiving the message they want to convey. The linked video requires the Silverlight runtime, which is not ubiquitously deployed. Fortunately, if you go directly to the Channel 9 copy of the same video, you will find WMV, WMA, MP3 and MP4 media format options below the video inset window. These won't force you to install yet another marketing misadventure.

Tale of the Video Tape
Cutting to the movie. Beth Massi is interviewing Paul Yuknewicz, who Beth calls "the guy in charge of Visual Basic 6." Paul opens with some nice words, but seems a bit down at having to say them. When asked if he could talk a little about the support strategy for VB6, he says, "Sure, yeah. Visual Basic 6, hugely important product and audience to us, y'know, if we could continue the magic of VB6 forever, I think we'd all be happy about that." The wistfulness isn't lost on this viewer, as Paul's eyes are cast downward.

Paul then mentions that a there's just a lot of VB6 code out there still, and seems to express regret over the initial convert-to-.NET strategy employed by Microsoft when Visual Fred was first rolling out. Beth asks whether the existing code was just too complex to migrate, and Paul replies that the number one reason he heard for people not migrating was that there was simply no business need or reason to undertake such an effort.

That's a pretty critical point. I remember stating it that way, or quite similarly, myself a few times over the last decade. He also thought that perhaps it was "just too hard" and "way too much work" for anyone to bother undertaking. So there we have it, far too hard to get nothing accomplished. Got it. This introduction consumed the first two minutes of the 23 minute video.

The next six minutes concentrate on the ongoing support for "the runtime and all the controls" through the Windows 7 lifetime. Paul talks about the runtime being a part of both Vista and Windows 7, so that's effectively five years of mainstream support plus five years of extended support from the date of release of each. You can almost see the (light-hearted) despair on his face when Beth points out that means he'll be talking about VB6 support in 2019.

The IDE is confirmed dead, even though it's really fast. "VB6 is still the product to beat in performance," Paul says in the video. You won't really hear much in this segment that you're not aware of already, except that "Microsoft had the draw the line" somewhere and Paul feels these decisions were right. "The runtime was the most important thing to keep running. If Microsoft makes a change and we cause a regression to your app, yep, that's a support issue you should talk to us about." Plenty of clarity there. Appreciated and accepted.

The middle segment turns to the marketing message. Paul moves to the whiteboard, and things go downhill from here. The ensuing 11 minutes provide an outline for migration. It turns out that the VB6 support strategy is to get people to move their code out of VB6! We learn that the "migration wizard" is now called the "upgrade wizard," for example, perhaps because migration sounds so much harder than upgrading? It still can't convert the code, of course, but there's another wizard that will now mark up your existing VB6 code to highlight things that just aren't supported in Visual Fred. Forewarned is forearmed, I suppose. I did run the new wizard against a project I recently offered here, and was mildly amused by the output.

In the final three-minute segment, Paul is asked to offer any other thoughts he may have to VB6 developers. He responds, "We miss you guys. ‹laughs› Um, y'know, we're looking for you.... "We really care about your assets continuing to run. That's the message. We love you guys. We miss you guys. There's some cool stuff going on in .NET, but take your time."

Gag me. I'm sorry, Paul seems like a really nice guy. He probably even feels this message is sincere. The rest of the video doesn't support this summary sentiment. Maybe he's speaking for the people involved, but he's certainly not speaking for Microsoft the Corporation at that point. Tough love may have its place, but I'd suggest that customer relations isn't it.

What about the #1 reason people didn't move in the first place? That was never addressed. No business need. So they clearly think we all take it as a given that .NET should be the final destination, or it's still a marketecture in pursuit of a market. The #2 reason for not migrating was that it was a lot of work to accomplish "nothing" (no business need, remember?), was given a few bullets on the whiteboard. They have new wizards that still don't manage to take away the "lots of work" part. Apparently, there are new interop ways that are "really low risk" so you "don't have to abandon your whole codebase to try to evolve it." Hmmmm.

COBOL of the 2020s
Almost as a parting thought, some clarifying insight is offered. There are apparently "several million" developers who are still using Classic VB. Given that Microsoft routinely tossed around numbers in the three-to-six million range, at the peak of Classic VB's popularity, that's a huge percentage of developers staying at home. Paul says that "as a stockholder" VB6 is very important to Microsoft, because converting "any percentage of several million" over to the new language would be very significant. This rings true. The renewed efforts at the VBRUN site make more sense in this light.

I'm very happy that the VB6 runtime is supported for the next decade. But I'm far from surprised. I've been calling VB6 the "COBOL of the 2020s" for some time, because its tentacles have reached deep into nearly every large institutional setting out there. Businesses run on Classic VB. Governments run on Classic VB. Just as the Microsoft Office team couldn't jettison VBA without risk of toppling the empire, neither can Microsoft expect corporations or governments to move to an operating system that doesn't support Classic VB code.

So are we at a stalemate? Perhaps for now. I do suspect the day will come when another company finally produces The Tool, likely one that supports platforms besides (or in addition to) Windows, which will attract the attention and loyalty of a great number of the Classic VB holdouts. When that day comes, we'll see Microsoft kick itself into gear, just as it did when Borland threatened the VB franchise with regular updates of Delphi in the early- to mid-1990s. Only then will we get more than promises of runtime support and flashy new "migration" wizards. Until then, I imagine they'll still be missing us.

I'll close by mentioning that I've been told many times that trust is highly overrated when dealing with companies like Microsoft. Probably so. But the loss of trust is something that doesn't go away. Until the Visual Fred debacle, Microsoft had never rendered any of their customer's data unusable. Not once. Why they did it first to the users of the world's most popular programming language ever, the product the company was founded upon and that may have had more impact on their overall corporate position than any other, is extremely puzzling.

I haven't heard any reason yet to consider letting them do it again. Have you?


Reader Comments:

Mon, Feb 1, 2010 joeblow

My VB6 app is several megs. I seriously gave it my all in trying to convert it to .NET over a 1 year period. Talk about failure. The parts i did convert ran horribly slow. I am now converting to freebasic, powerbasic and realbasic ports. I will probably never go back to MS. They abandoned me, so I will abandon them. EOL

Wed, Jan 27, 2010 Gary Nelson Canary Islands

Thanks for defending us VB6 holdouts Karl. I've got two large Asp.net programs out there with a couple thousand users, but for Windows programming nothing beats VB6. If no new version of "VB Classic" comes out I plan to be using VB6 for years to come (or until MS breaks it).

Wed, Jan 27, 2010 Andy UK

That is VB6 far outperforms .Net

Wed, Jan 27, 2010 Andy UK

I also can't understand how dropping VB6 fits with VBA. My applications are a mix of VBA and VB6 dlls. And still there is the poor performance of VB6 against .Net.

Sat, Jan 9, 2010 Dan

Microsoft itself is a dead o/s, Itv, Tomtom, Iphones and linux is the way to go. Maybe bill Gates will buy his shares back and retake control from these corporate no-hopers. All my VB6 software runs under Linux with WinE at ten times the speed.

Tue, Jan 5, 2010 Tom Southern California

Why are there so many whiners in our industry? "Microsoft killed Visual Basic, waaaaaaaaaaaaaahhhhh". "VB.NET isn't VB, so we're going to call it Visual Fred, waaaaaaaaaaaaaahhhhh". Seriously, get a helmet. I started my career based solely on what I could do with VB 4, then VB 5, and then VB 6, but it's time to let it go. .NET is a much better toolset.

Mon, Jan 4, 2010

Why so many VB6 haters in these comments? VB.Net even after how many years now does not have all the features or speed of VB6. I have millions lines of VB6 code, why should I spend a year or more to convert them to .net when the only end result will be a slower bloated end product? Microsoft will never be able to release an operating system that does not support VB6, if they do that will be the version NO BUSINESS USERS UPGRADE TO. Like this article says evantually MS will do something to modernize VB6, they have no choice and like this story says it will probably be after somebody else takes a stab at it first and MS will play catchup like always.

Tue, Dec 29, 2009 Frank

Don't get your nose hairs in a knot. You've clearly and completely missed the point which is, that MS have left no avenue forward for the piles and piles of VB6 code short of a complete re-write. Do you seriously think that all of the VB6 coders out there wouldn't have moved to whatever the next version of the language was if there *was* a next version of the language?

MS killed VB at version 6 and have attempted (unsuccessfully, apparently) to usurp it's throne using an impostor.

And to MS, I hope you keep getting your a** kicked in the courts on the Word thing. Serves you f****** right!

Mon, Dec 28, 2009 Jeff Dallas

I would rather pull my nose hairs out then deal with vb6. Thank God for C#.

Fri, Dec 18, 2009 Gary Harris Tempe, AZ

VB6 may be dead from Microsoft’s perspective, but it is still an extremely useful tool for developing in – fast and simple. Microsoft should have ported this to .NET as they did with their C++ compiler. Now THAT would have been real customer support! And don’t get me started on performance. VB6 apps GUI run about 4x the speed of .NET apps, and the easy access to the Window’s API is a real plus. It’s a real shame we can’t get all the benefits of old VB6, along with the NEW benefits that .NET offers! Reverse engineering is another issue with .NET applications. Even with obfuscation, I don’t like the idea of having my code easy to hack into. A compiled and protected EXE makes this one step more difficult.

Thu, Dec 17, 2009

Like many above I worked with VB since the early days. I purchased .net and the second .net and nothing got any better. It is better not to be tied to MS. They just dropped support for their MS Office Accounting. That has always been the story of MS. Leave them hanging. As an alternative I've also used RealBasic and PowerBasic with the Firefly IDE which is much like VB6 and that's a nice combination with no links to MS which means you will not get dropped when they feel you are no longer of use.

Tue, Dec 1, 2009 Steve Ontario, Canada

Wow, what a coherent expression about upset and discontent there is in the comments above! VB6 was my last MS language love. The changes away from it have lead me to embrace Open Source languages and Linux. So inevitably, it is not only goodbye VB6, it is goodbye to my commitment to Windows OS(es), period. VB6 was in my blood and on my bookshelf. I worked hard in it, and used it as the centre of my programming efforts. I had a long history with Basic, Quick Basic and then VB3/4/6. Before Windows I was an avid C and Assembly programmer. Heck, before PC's, I was an avid C64 hand-assembly programmer. When Windows (3.1) came along, I wanted to get involved, without the cost/pain of getting fully enrolled in C++. I chose VB, and I was happy to go along, even with my pocket book. I stayed with it up to VB6. With the changes to .Net I face learning a whole new language/technique AND leaving behind VB6 IDE, tools, resources and development experience. It's a complete disconnect and toxic. If I must change, then my question is what is the best direction to take. I am still C/C++ adverse for all but the most intense data processing tasks. That means I'll do an occassional small and specialized library. Otherwise, I am chosing Python and Java as languages, and everything based on an Eclipse IDE. There is a bounty of diverse and productive libraries on the 'net, freely accessible. They are bigger, better, faster and stronger than I can create in my own time, and all free to explore and use. The last 12 books I've purchased and read were on Python, Java, XML, Eclipse, Ubuntu/Knoppix Linux. After the last clean install of my WinXP systems there's not even a VS Express language installed. Read this as where my money and time will be spent in the future. I expect this route will yield excellent capabilities and performance, with no foreseeable end of improvements and support, and especially no lost continuity in usability and value. What doesn't kill you makes you stronger. Adieu.

Fri, Nov 20, 2009 Stephen Gartrell Commonwealth of Pennsylvania

Although I personally consider Microsoft's decisions in the classic VB realm to be the software equivalent of Detroit's ill-fated insistence upon building SUVs, they are starting to annoy me by continually extending VB runtime support.

Here I sit, itching to drop support for Windows and SQL Server and move all applications to Linux and PostgreSQL or MySQL just as soon as Microsoft announces the termination of VB runtime support...

And they don't.

Wed, Nov 18, 2009 Burned Out On .Net

I really don't have any fondness for VB6 but I still maintain many applications written in it. For the last 5 yeas I've been trying to transition and learn .Net as time permits between VB6 maintenance tasks. Unfortunitly I've found that the learning curve is so steep that it's impossible to pick up without full-time dedicated focus, which is impossible as I still VB6 maintainance tasks. The new concepts and capabilities are easy to understand and stay current with however every time I go to actually develop something with .Net it seems like I spend hours searching through the framework trying to find the proper calls to do even basic things. I can't afford to spend hours doing something the "new cool way" that would take minutes to do in VB6 or with a scripting language like JavaScript. It's to the point now where I can't compete professionally when it comes to Windows apps development which was my bread and butter for years. It's not like I'm stupid, I still pick up and apply many other new technologies (mostly web based) without any problems. So I've got to ask my self, am I alone or has Microsoft driven a whole generation of developers out of programming into new careers or retirement with .Net? The beauty of ClassicVB was the simplicity and speed at which things could be developed. It was a productivity tool that could quickly automate most business processes. Pretty much any programmer could load up VB, even if they'd never seen Basic before, and be productive within one or two weeks and proficient within six months. Now with .Net they say you should "specialize" in just parts of the framework, like WPF or Workflow or ASP.Net because the frameworks feature set has gotten so big. I guess that's OK if you work for a company with many programmers but that doesn't work if it's a one or two man development team. What am I supposed to tell my boss, "sorry, I've specialized in WPF now, we'll have to hire someone else to write the Workflow portion of your new app"? With .Net Microsoft gave programmers all the powerful features that they had been asking for but they did it at the expense of simplicity. This made the power programmers very happy but it has crushed the other 80% of us that rarely if ever needed any of those powerful features. Since I'm still a long way from retirement, I constantly worry that my boss will finally recognize that we need to rewrite our apps as I've been telling him for years. Once that happens it will be far cheaper for him to simply hire someone that's already made the investment in the steep learning curve required to be proficient with .Net and I'll be obsolete regardless of all the effort I've made trying to learn .Net on the side. I know, this is sour grapes on my part but Visual Studio .Net isn't even close to being the productivity tool that VB6 was and I suspect has probably destroyed many careers.

Wed, Nov 18, 2009 Been Around

I write code in assembly, which has been around since before PCs were available in the 50s, I write code in C, been around since the 60s, I write code in C++, been around since the 70s. Why are they still around? Because they work most of the code is easily transferred to the updated platforms with little or no tweaking. Code I wrote for the Z80 back in ’83 still works today and you can still buy them. The notes I took during college for C are still relevant today what a concept!!!! Most of the beloved operating systems out there are written in, you guessed it, C C++! Just because something is “old” doesn’t mean it is not useful. If it ain’t broke, don’t fix it. VB was a boon to the programming world, It brought programming to the masses, if I wanted to test an algorithm for a new product, I could toss the code into a form in VB 6, use real time RAW data and produce a viable output in minutes. And I didn’t need to worry about bringing half the damn operating system in to boot. I have spent a few years developing advance application that blow away what most of the snobbish C++, C# who think of VB as a “scripting language” applications clear out of the water in performance and smaller resource footprints complete with real-time signal processing, data display and graphing using complex polynomial and quadratic formulas involving squared and cubed values of raw signals. These applications were nearly impossible to represent in the same manner efficiently in any flavor of C. I have migrated some of the simpler versions to .NET platform and others I had to abandon them because of the ever expanding resources required by the .net platform. Applications I wrote in VB that ran on 486 systems would choke a dual core 3 GHz system in .NET some that could only be terminated by pressing and holding the power button, shameful. I’m sure that the young folks whose first language is one of the flavors of .net can argue the same points because experience has taught me that the preferred language of most programmers is the one they first learned in formal education. Most of the syllabuses I see nowadays cover C++ as the language of choice for application dev courses for computer science. Not saying other languages are not offered, these are generally offered as extension courses. I think that’s pretty good for an “old” language.

Tue, Nov 17, 2009 Travis McGee Boston

Three mistakes Microsoft has done: 1) Not including VBRUN##.exe as part of Windows; 2) Not purchasing Dejavu.com; 3) Abandoning the Good Old Visual Basic

Thu, Nov 5, 2009 John Price UK

Thanks Karl. Spot on. MS is beginning to hurt from a series of huge corporate blunders and misjudgments, of which their casual abandonment of vb6 (and the customers who had trusted them) was the first. I program in vb6 and the net framework and sometimes feel that the framework is more like a kind of slow motion digital Leggo than real programming. The second was Vista (and its update, Windows 7) and their attempts to force corporate customers to adopt it. The third was that they have badly underestimated the advances of other operating systems, and the willingness of previously loyal customers, both corporate and individual, to switch to other OSs. Trust is hard won and once lost may be almost impossible to regain. A lesson MS will learn the hard way.

Wed, Nov 4, 2009 BobC

@Mumrik, no, I hadn't heard of smallbasic, looks like a minor attempt to get back some of what they lost when they ditched VB, but all it shows me is they still don't get why VB6 was used by so many and why we can't just get on the .net bandwagon. :(

Wed, Nov 4, 2009 Steve888

Thank you, Karl - excellent article. What I realize more and more is that, over the years Microsoft has evolved from a software company to a marketing company. Also, I believe they employ thousands of testers, but what do they do? They have cleverly, virtually "hired" you and I and all of the beta testers to help them correct their mistakes - for free!

Wed, Nov 4, 2009 Roberto Leiton

Hi everyone I am ArtinSoft's CEO. If anyone is interested in a free trail of our Visual Basic Upgrade Companion feel free to contact me at: rleiton@artinsoft.com . We are migrating large complex VB6 applications successfully with our product. Thanks Roberto

Tue, Nov 3, 2009 Domeman

VB6 lets me do guick apps. I have tried .NET and what a learning curve. I am looking at other options. PowerBasic and RealBasic. Power Basic has some slick third part interfaces that make developing a GUI a snap. Real Basic complies ong Windows and MAC O/S this is a bonus. Simple is gone.

Tue, Nov 3, 2009 Tonymcs Australia

I have over a million lines of code in VB6 in an app that started in 1983 (IBM Basic compiler). The advent of VB was a joy and the object oriented versions were the first major rewrite we did, culminating in VB6. Once .Net was released I tried it and was a little surprised at what I saw as unnecessary complexity. I've tried their "upgrade" tools, but with no success, so we'll continue with VB6 and hope that a miracle happens and MS will address all those people it left behind when it decided that code design was better than helping the users. I'm just glad in still works on Win 7 ;-)

Tue, Nov 3, 2009 Jerry E. Shepherd West Valley City, Utah

As a maturing user of VB6 and earlier since the advent of Quick Basic, I am very dissapointed that I cannot be sure a project I have worked on and almost completed after five or six years is obsolete and probably won't run on some of the new Operating sytems. I really regret putting my trust in MS. At this point, I am converting my efforts over to Powerpoint which I feel has more of a future but what a shame that since I am not getting any younger, the world may be deprived of what I consider a masterpiece in educational reference material. I can only hope I can maintain my productivity until I get my work transferred over to the new format so those who desire can benefit from it.

Tue, Nov 3, 2009 Craig WA

It is quite sad that MS left VB6 users high and dry. For simple tasks you need a simple solution not the full .net code, which is where .net falls flat. If I have a simple app written in .net 3.5 why must that computer have the full .net? Ridiculous. The mentality these days is "Just add RAM, Bandwidth or Storage because it's cheap." I like my code to be tight and efficient, which is why I liked VB6. You only provided the files that were necessary to run the app. I'm settling into .net, but I do miss vb6's simplicity, and lack of bloat.

Tue, Nov 3, 2009 Paul Kansas

I've been programming since the mid seventies. When a new COBOL came out, you didn't have to rewrite all of your code. I wish MS were as forgiving with VB as Burroughs was with COBOL. BTW, to those that think COBOL is dead, you should give Microfocus a call and tell them, because they still think they have a modern, highly functional product.

Tue, Nov 3, 2009 fb

Most of you have missed the point. The point is not about what language to develop "new" projects. It's about supporting the millions of lines of code that are in place.

Businesses don't want to pay to reinvent the wheel. The wheel they currently have is fine. And they don't what to pay for a large project to replace applications when all they need is a tweek.

Is COBOL dead? Hardly, there are millions of line of code running business and banking. Also, an ever growing SAP uses it's own flavor of COBAL in ABAP.

Killing a toolset is easy, but it the toolset was successful, killing it may kill all your clients.

Tue, Nov 3, 2009 Jos Belgium

Our accounting software still runs on VB6. We tried 2002, 2003, 2005, 2008 but still most productive remains VB6. We don't see using .NET version running the whole day debugging and saving/compiling/distributing at the end of the day or week. With VB6 a habit since... It's still VB6 that makes the money here!

Tue, Nov 3, 2009

Here are some great examples of succesful VB6 migrations using ArtinSoft's migration products.http://www.artinsoft.com/cs_home.aspx

Mon, Nov 2, 2009 VB6 guy

It's funny, I hear from recruiters and dev candidates (I'm IT manager) that no one uses VB6 anymore. I want to know when the mass-migration occurred, because it should have rivaled Y2K. The amount of VB6 code still running is, IMO, the AppDev world's dirty little secret, thanks to the Microsoft community, where anything older than Framework 2.0 (oops, make that 3.0) draws the same response as polyester and 8-track tapes. Ignore it, and it'll go away. Business shares some blame in the situation for their lack of long-term planning. IT can preach till we're blue in the face about the need to stay current for compatibility, maintainability, security, but, just like Y2K, nothing gets done until it absolutely must.

Mon, Nov 2, 2009 Ralf Atlanta

My small business makes and supports enterprise-level apps written in VB6. Customers (the tech-savvy ones) used to bug us about when we were migrating to .NET and we'd just smile enigmatically, replying "when we can't do something in VB6, we'll consider it." They stopped asking about two years ago. Success matters. Customers don't care if the thing's written in satanic symbols so long as demands are met, and we've always exceeded expectations. This 11 year old tool keeps delivering ever-increasing performance, and with a modest resource footprint. .NET? Don't need it, no plans for it.

Sat, Oct 31, 2009 Mumrik

I feel sad about the whole situation, too. My god, it's such a big company, why can't they afford it to set up a small dev team and give us a minimal version of the VB6 IDE on W7? A million people around the world would be very happy, and "trust" could be regained. But no, instead they are playing around with unnecessary things like that: http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx (that's MS SmallBasic - heard of that?)

Wed, Oct 28, 2009 MarkJ Cambridge UK

Good article. I want to agree that Microsoft should buy vbmigration.com and make the upgrade tool free. They absolutely should. Somebody start another petition!

Wed, Oct 28, 2009 Lol

Karl, look to the future and stop pining away for yesteryear? Take up C, C# or F#. The VB6 support strategy is to eventually abandon it. Sure, existing code will be around for many years. And since you have the documentation on your disk drive, you're organization is set? The writing is on the wall. Griping about evolution and technological innovation isn't going far. Perhaps as many people who morned COBOL's passing will morn VB6's passing?

Wed, Oct 28, 2009 BobC

Nice article Karl, but the whole situation still depresses me no end.

I still haven't figured out what I'm going to do with my VB6 code, but VB.NET probably isn't going to be in the mix, I want something that I can convert it to in an easier way. (since there really is no payback as your article says.)

I'm shocked that at least one Microsoft guy gets it, but they should *do* something about it!! They can *still* write a VB.NEW that could import the code if they really wanted to. Heck, they could even keep
VB.NET around, just call it something else. It's not really Basic anyway.

Wed, Oct 28, 2009 Leonardo Azpurua Caracas

Nobody has missed any freakin' train! Applications, large applications I mean, are frameworks in themselves. You spend several months, perhaps years, writing an application in a "new" tool (VB5, at the time) that gives you all that you need to fulfill your intentions. Then you spend several years controlling the application's evolution, writing ancillary applications, developing extension mechanisms, based on design patterns and on the best practices available at your time, in such a manner that can be supported by your building tool (VB6, in my present case). And one morning you learn that because the authors of your tool decided that the want to overtake the Web market and crush their competitors, they will stop supporting your tool. I just don't need .NET. I have developed a couple of largish applications using VB.Net, because the customers, who were ready to pay very dearly for them, asked that they should be written in that language. And it was fine. But *I* don't need NET. VB6 is fine for the type of applications that I have written and still write with it. And I master VB6, know all of its quirks, know what to avoid and know how to work around all its traps. With VS2008 I haven't yet learnt how to stop it from just vanishing from my screen when I switch from code view to design view. And then there is the point of trust. What I have learnt from my VB6 experience is that I shouldn't rely on propietary tools. Is there any warranty that once I have developed ten years of products and experience with VB.NET, somebody at MS won't decide that they want to take over WWW V.umpteen and discontinue once again the language? I am swimming. Away from Microsoft waters, which have proven to be extremely dangerous. Salud.

Wed, Oct 28, 2009 Jimbo Visalia, CA USA

Nice article, Karl. I've used MS products since GW-BASIC in the 80s and was sad to see vendor support for VB6 in deployed environments just fall away. As my clients have found their applications age (for business reasons), I've taken the trouble to educate them on the need to _ocassionally_ take 75K line apps to the next generation of coding and support. It's not a lot of fun, but there's a time and place for everything... especially when they have to bet their business on it. I've added a lot of functionality by going to the .Net environment. Been burned, and carbed out the charred scabs as needed... You wistful guys that are fraudulently imposing application stop-growth with a product mature in its obsolesence are the bane of progress.

Wed, Oct 28, 2009 Florida

Good article. I think the harsh commenters could ease up a bit out of politeness to the author; he isn't asking anyone to develop new apps in VB6. ...and No I am not an avid VB6 supporter (actually an avid .NET Framework 3.5 developer). We still have a few large (100,000+ lines) VB6 apps that need to be converted to .NET and I am not so much worried about Microsoft's support for the primary VB6 .dlls and IDE support, as much as the 3rd party VB6 support components that are associated with these apps. If those companies decide not to continue support into Windows 7, we could get into trouble quick. The main issue is trying to tell our business, "We need to spend (2) years re-writing your stable app and in the end it will have no different functionality to you." I am not supporting these apps staying in VB6, but yet dreading the undertaking to re-write these apps well in .NET.

Wed, Oct 28, 2009 Wolfgang Enzinger Germany

Great article, Karl, thank you. To that nameless guy above me ("I'm surprised you didn't complain ..."): your defamations and your hysterical invocation of a "dead, dead, dead" VB6 are a nice demonstration that VB6 is not at all dead. There is simply no reasonable replacement available for VB6.

Wed, Oct 28, 2009 Goran

Most of .net people doesn't realize why is this issue of trust. Maybe one day history will repeat and Microsoft will decide that .NET platform is dead end and create something completely new, clearly superior and offer half done conversion tool for existing code. You will be in same position VB6 developers are now. After many dumped data access strategies and vb3, vb6 and vb.net can you really trust this company? Can you say that one day your great c#, EF, asp.net project won't be pile of legacy code without any really useful migration path?

Tue, Oct 27, 2009 Dan New York

COBOL is alive and well. Check out microfocus.com

Tue, Oct 27, 2009 LFS

Karl, you're an experienced developer, you've been at it quite a while. How many times have you finished an application only to say a year later; 'The re-write could be made a lot better, if only I had the time.'? Its called learning from experience. Granted, VB was a great RAD tool in its day, but days inevitably end and the future doesn't fail to arrive. You just need to plan for it, to realize major changes are bound to happen. The best you can do is to ride out the 'transitional wave' while still remaining upright when its over. Personally, I am happy MS's development tools are now better able to incorporate operating system routines, that syntax or language isn't so much the defining methodology as it had been. It won't do you any good to float around out at sea forever, eventually you need to pick a wave and ride it into shore. About the only real objection I had with the switch-over was that they userped the VB name that had become synonimous with RAD and attached it to their new framework, as if that would help transition the millions of developers they had gathered. While its not yet a sink or swim situation, it will be. You really should pick a wave, get up on your surf board and ride into shore. Its all about experience. Go out and hang ten, buddy!

Tue, Oct 27, 2009 Norm Arizona

Very nice article Karl and I agree with most everything, except that Microsoft did do somewhat the same thing with the new Office when they left out a lot of the routines used in the older Office. When VBNet first came out I tried to convert several of my apps, which are not large, but found it would be easier to re-write the app, but figured it would be a waste of time to re-write something that already worked, just to add bulk to the distribution files. I am sure there is now more functionality to the new VBNet, but I did not need it for my desktop apps and am not sure I need it now. I see some of the same comments here that I see in the newsgroups, which bothers me since they are mainly remarks about the person rather than the issue, but I guess that is human nature. :-) Unless they come up with a way to convert all the code I have written, I personally will not switch at any time to VBNet, more than likely I will switch to one of the other basics available, as I don't think VBNet is going to be the way I would want to go in the future. But I only started using Visual Basic as a hobby and never did make a living at it, but did spend a lot on Microsoft products, which I no longer do. I have dropped my MSDN membership and am playing around with Linux and using Open Office. Norm

Tue, Oct 27, 2009

Here's yet another rant about a product who's time has passed. If you read more of Karl's opinion, he'd prefer to be writing new apps in VB 6. He has taken a stand against .NET for no real rational reason other than he missed the train and now he's stuck with what he's got.

Tue, Oct 27, 2009 Tom Southern California

I based my early career on what I could do with VB--starting with the 16-bit/32-bit VB 4. But technologies change. COM is dead. Accept it. Move forward, and stop acting like small children who refuse to adapt to change. Better yet, don't accept it. Drag your feet. Kick and scream. When your customers look for someone more grown-up, I'll be there.

Tue, Oct 27, 2009 Mike

With all due respect, I think some readers/posters are missing a huge point. Few would argue (I imagine) that VB6 is a superior language to VB.Net or C# -- I sure wouldn't. My group does lot of .Net development and we see the light. But what about the hundreds/thousands of software products out there that were built with VB6 and have evolved over the course of many years? What about the shops/businesses that have built their offerings with VB6 and are eager to move to .Net and ask simply for a decent tool that will help them 'migrate' or 'upgrade'? No such tool exists -- not from MS anyway. These shops feel abandoned -- I'm not sure I disagree.

Tue, Oct 27, 2009 Matt Stoke-on-Trent UK

I agree that there is no need to upgrade for upgrades sake. I am supporting a few apps written in VB6 and while I would prefer if they were in .NET I simply can't justify spending the time re-writing them or the risk associated with re-writing an application that may introduce a bug. VB6 still remains a lot faster to run apps but that is because it doesn't have the rich interfaces of .NET - there is always a trade off between these two

Tue, Oct 27, 2009 COBOLT nowhere

speaking of COBOL, how come no one uses that anymore? it was perfectly good. {sarcasm}

Tue, Oct 27, 2009 Mike

If it still works (even until 2019) who cares right? Who calls for support on VB6 anymore? It's a seasoned product with all the bug fixes completed in SP6. Use it and like it. By 2019, if you aren't running 64-bit and compiling in 64-bit, you are going to be a dinosaur. .NET is only complex if you are used to programming with training wheels. Try using C++ and then tell me how complex C# and VB.NET are. All the features are there for a reason...time to learn a real programming language. BTW, I have used VB3 16-bit on up and still have some VB6 apps to support. Can't wait to get them up onto .NET and say one last good-bye to DLL Hell...

Tue, Oct 27, 2009 Mark New York

Great article. I too now develop in vb.net but maintain lots of old VB6 code. Microsoft should buy the converter from www.vbmigration.com and give it away as a start. There was no excuse for not including VB6 in .net. They lost quite a few developers to C# and especially to Java.

Tue, Oct 27, 2009 Paulie San Diego

If you want to code in VB6, go ahead. You got a compiler and there are loads of books what more do you need? If you don’t wish to drink the new Kool-aid, don’t. But why whine that the modern preachers care about your religion? Go off and do your own thing.

Tue, Oct 27, 2009 MS Basic since 1978 Greater NY Area

I've used every version of MS Basic from 1978 on, INCLUDING VBDOS (lol), and to this day I support VB6, VS 2003/2005/2008, nearly all web applications (including the VB6). Using a toolset developed by me and my collegues since 1999, our VB6 web application framework is STILL faster to develop, easier to deploy and support than ANY version of VS.NET. We do new projects in VS.NET so as not to seem "old fashioned" but there's little about it that's superior to our VB6 framework. Especially the mass of files that has to be deployed to the server every time there's an update. With our VB6 model, there's a single DLL to deploy, that's IT. Don't call VB6 developers "script kiddies" or compare VB6 to COBOL, there's NO comparison. Don't get me wrong, when I develop in .NET I DO like the functionality provided by the .NET framework, but their model for web development is needlessly arcane, created by those who seem to love complexity for complexity's sake. Web parts and web services? Keep 'em away from my apps! Don't give a crap about reusability, separating functionality into too separate modules just makes support and debugging nearly impossible. Simplicity rules.

Tue, Oct 27, 2009 John San Antonio TX

Thank you, Karl.

Tue, Oct 27, 2009 Jim

Its time to kick out VB6 just as was done with VC++6. Move to .NET for your new applications. Rewrite your old VB application in VB.NET. And, in the meantime, upgrade your skills.

Tue, Oct 27, 2009 Barry Nashville

All our development is in vs2008 and will be in 2010 soon. However we have business applications that are usefull to us in vb6 and access. A wide range of technologies that are over a decade old. I am a c# dev but you forget I started in fortran, quickbasic, vb etc. Millions millions of $$ were paid for the solutions in the past. Do you c# high horse gear heads think companies in this economoy just have bucks to throw to redue applications in the latest technology. Grow up. I understand both sides but I dont understand the get wit the times. Companies dont pay for software that is getting with the times. Thats why big iron and green screens are still around. BY the way just finishing up a dot net solution to big iron. Barry, Nashville.

Tue, Oct 27, 2009 Realist and Efficiency Minded USA

Dude with no name at the top. DEAD DEAD DEAD huh! .Net is such a resource hog and one heck of a lot of it is not needed for a whole lot of programming needs. VB6 is SOOO much simpler (albiet quirky) and SOOO much more efficient. And SOOO much easier to work directly with the OS (although not quite as easy as straight C) Why cant it be deemed the OTHER vb compiler. Have they stopped building/using straight C compliers? There are people out there that dont need to drive 2010 BMW's. They are still driving 1990 Chevy's why? COST dude COST. Simplicity, Simplicity. Efficient, efficient. Need I say more.

Tue, Oct 27, 2009

Typical comment from a "script kiddy". Go play in your sand box while the grown ups get some real work done.

Tue, Oct 27, 2009

I'm surprised you didn't complain when VBDOS went away. It's 2009, time to get with the program. VB6 is dead. Dead dead dead dead dead dead dead. Developers who are unable to learn new technologies should just go back to COBOL in 1979 and let those of us who are not whiny morons get our work done.

Tue, Oct 27, 2009 alpine

Spot on! They've screwed the pooch in the "trust" department and it will take WAY more than a few flowery platitudes from an obscure MS program manager to regain what they've tossed.

The day they get it together and write a "VB Classic" compiler for whatever the latest and greatest platform is at the time is the day they take the first footstep on the long road to regaining that trust. Until then, it's all just a steaming pile of BS.

Add Your Comments Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above