BT

Reactions to the VB 6 Open Source Rumor

by Jonathan Allen on May 31, 2011 |

A prank during TechEd caused many to believe that Visual Basic 6 would be open sourced. While it turned out to be false, it did start a lot of conversations about the language, its legacy, and an open source implementation would mean.

Visual Basic undergoes significant breaking changes in every third version. The first major change was the transition from 16-bit to 32-bit programming in Version 4. While not much of a problem for “pure” applications, most Visual Basic programmers heavily relied on third party libraries and components. In cases where the 16-bit DLLs and VBX components didn’t have corresponding 32-bit DLLs and OCX components a major rewrite could be required.

The next major shift occurred in Visual Basic 7, also known as VB.NET. This replaced the natively compiled code and runtime libraries with .NET’s IL code and Common Language Runtime. In the process some core functionality was broken, the most notably being the resource model. Visual Basic 4 thru 6 used COM’s reference counting design, which requires setting a variable to null to free resources. Translating this to .NET’s non-deterministic garbage collection is not an easy task, especially with working with limited resources such as file handles.

The ramifications of this are still plaguing companies and developers. In the 90’s Visual Basic was by far the most popular language for writing internally used business applications. Faced with the prospect of more or less rewriting their applications from scratch, many developers gave up entirely on VB and switched to Java or C#.

The most recent change to Visual Basic comes with VB 10 SP 1. This removes practically all of the legacy features inherited from VB 6 such as unstructured error handling. This was done specifically to support Windows Phone 7 and other specialized platforms where you would be writing new code anyways.

Why Visual Basic 6 Matters

Companies like Citect (http://www.citect.com) and users thereof might. There's plenty of legacy stuff out there still being actively maintained that has VB6 in it. Maybe VB6 can now go 64 bit?

-- syousef

If they actually do this, VB6 will still be a popular language when we're all dead. I'm completely serious -- it's the next COBOL.

Whether that's a good thing or a bad thing, I don't know.

-- anonymous

There's a scary amount of legacy code in VB. When I was interviewing for a job recently (PS: anybody hiring coders in the DelMarVA area?), the interviewer was asking about some porting work I had done. There were a whole pile of VB projects in use, only one or two of which the budgeters could justify examining---and that only meant re-working them in VB.net, so that they could be extended in the future without needing a legacy development environment.

VB already *is* the next COBOL.

-- orangesquid

The hospital I work (and pretty much every hospital in the country) is dropping millions on a certain healthcare EMR system that is based on VB6.

-- anonymous

Seeing as half the world's business are still built on VB6 then yes, it'd have been a good thing, because it'd mean there was finally hope in creating something that'd pull them away from that unstable, poorly scalable [expletive] of a technology.

-- Xest

I spent the last ten years working supporting a VB6 project. I wrote the C++ code that it ran on top of. The non-CS engineers who wrote the VB stuff fought tooth and nail to keep that software going. At the time I left the job, they were trying to get it to work on 64-bit Windows so they wouldn't have to upgrade it. The scariest part is, this was a real-time test system.

If I were still there (and is this release had been true), I'm certain they'd be asking me to compile this source code into 64-bit.

-- anonymous

Oh and additionally, there are lots of companies still using VB6 as their main code source for enterprise sized applications. I work at one such company and we run a multi-million dollar business on VB6 desktop codebase. No the web versions are all .NET and services accessed by both versions are .NET based.

I see many jobs still with VB6 as a required skillset as well as some dedicated positions utilizing it. So I wouldnt say VB6 is anywhere near death... yet.

-- RobDog888

This is true also in Italy. Most of these companies are now switching to Delphi but I'm sure that they would love to keep using unmanaged VB if a software house whatsoever took care of upgrading it.

-- esposito

These quotes are from Slashdot and VBWire.

Where Visual Basic 6 Currently Stands

Visual Basic 6 still doesn’t have a 64-bit version available to the general public and, according to the March 2010 service bulletin, it never will. That isn’t to say it is impossible, there is a 64-bit version of Visual Basic for Applications included in the Microsoft Office product line; it merely means Microsoft has no intention of dedicating resources to it.

More distressing to some is Microsoft’s intention to stop shipping the VB 6 runtime after Windows Server 2008/Windows 7. While Visual Basic 6 originally required the installer to include the runtime, these essential DLLs have been shipped with ever version of Windows for the last decade. Going back to the old model will require rewriting the installer packages currently in use.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Microsoft and 6th versions by Clinton Begin

VB 6 should disappear along with every other 6th version of anything Microsoft makes.
...Windows 6 (Vista)
...IE 6

:-)

Re: Microsoft and 6th versions by Dan Tines

At some point, organizations have to pony up and invest in the migration to dotnet.

The thought of looking at VB's source by Richard Clayton

scares me.

Re: Microsoft and 6th versions by Charles Cherry

At some point, organizations have to pony up and invest in the migration to dotnet.


Why? There are still millions of lines of COBOL out there that "just work." The only philosophical difference between legacy COBOL and legacy VB is the difference in hardware and operating systems. Businesses can still run COBOL apps written thirty years ago side by side with COBOL apps written last year because the the hardware and operating systems still supports the old COBOL code.

VB is joined at the hip with its operating system (Windows), which is tied to the hardware. As long as businesses want to run old operating systems and old-style hardware (x86), they can run those VB apps forever. My guess is that a lot of them will.

Re: Microsoft and 6th versions by Charles Cherry

...and with virtualization, they can upgrade the hardware and still run the old OS in a virtual environment.

Re: Microsoft and 6th versions by Dan Tines

Yeah, and then they end us digging themselves in a deeper hole because eventually they do have to upgrade. The difference with COBOL is that unlike COBOL these VB6 apps are running on people's desktops and eventually those desktops have to be upgraded. Hah, comparing VB6 to COBOL should give anyone pause for thought though.

Throw that VB6 through a converter for a great wash. by Marcel Sorger

Everyone seems to agree that there is a ton of VB6 code out there that is unmaintainable and ideally should be converted to .NET code.
The huge legacy of VB6 code is simply to big to be converted by hand.
VS2010 doesn't carry a vb6 converter anymore and in older versions the conversion was utter crap.

I found some tools and guidance for those who want to upgrade but haven´t tried them myself, but they seem a lot cheaper than hiring developers and testers to rewrite everything. They also have free tools so you can identify problems and try stuff out.
www.vbmigration.com/
www.artinsoft.com/

Muddling along with old VB6 code is costing money and causing frustration. Investing in a tool to alleviate development dept, seems like a quick and cheap way to squeeze more production from a development shop. In that way a converter is similar to a refactoring tool like Resharper or CodeRush, witch you probably need to improve the generated code a little further.

Satya Nadella has not replied to an open letter calling for the open sourcing of the VB6 basic programming language by S Ten

Microsoft CEO Satya Nadella hasn't replied to an open letter calling for Visual Basic 6 (VB6) to be open sourced.
The VB6 programming language is still widely used in business and government, with Gartner estimating a cost of $11 billion to migrate or rewrite.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

8 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT