Visual Basic helped revolutionise the way we think about software. In fact, only a few years ago Visual Basic 6 (VB6) was the most popular development language, boasting three million developers. Today, there are still millions of developers using VB6, and there are still countless thousands of applications written in VB6 still in productive use.
The problem many of these developers and their customers now face is VB6 is no longer supported or being enhanced by Microsoft. Directly or indirectly, this means both the developers and their customers face increased costs.
Converting an application to VB.NET is often a huge process. The conversion wizard supplied by Microsoft produces hundreds or thousands of TODOs that need to be individually inspected and in many cases, needs to be reworked. Years of bug fixing and bringing a product to a high level of stability and quality can be instantly lost.
A common response to this dilemma is so what, leave the code in VB6?, however this fails to address the need for a customers code assets to grow with the company, and adapt to modern business needs. Also, If the code base stays in VB6, it still needs to be supported and developed.
A typical example could be a company payroll application. five years ago when the application was commissioned not only were the rules different but the technological environment was different too. Over time that application will need some minor tweaks, and may have new requirements such as interacting with Web services. Dated tools dont facilitate that. Updated tools do.
The Web services example can be easily integrated with VB6. Office 2003 VBA actually has a great add-in for creating strongly typed Web services. This is just but one example of the technologies that can be brought to VB6. Indigo is yet another that has built-in COM support. GDI+ also is unmanaged. Side-by-side COM is also available for VB6 hence helping to address the common problems associated with dll hell.
So for VB6, Microsoft already has in place technologies that are ready to be integrated that help bring those applications forward. The aforementioned technologies combined with tools such as the VB Code Advisor could easily be combined and made available to VB6 customers.
The ultimate solution for the future of VB6 though would have to be integration with VB.NET. For example, a developer should be able to add a VB.NET class to your existing code and add new functionality using .NET. This is what the much publicised VB6 petition is asking for. This is exactly what Microsoft demanded for its own C++ code assets.
When it came to its own code Microsoft did not covert all its source code over to .NET. Instead it expended a lot of effort into allowing Microsoft to keep its existing code base and drop into managed code as it saw appropriate when writing new code.
For VB6 to be brought into the Visual Studio IDE to allow the same benefits as Microsoft afforded itself for C++ would take some time, probably 18 months to two years. If Microsoft started now, that would be ready the Visual Studio IDE, code-named Orcas or soon there after, and help bring VB6 applications to Longhorn and take advantage of the new platform.
It was and is reasonable for Microsoft to want to protect its own code assets, and bring them forward rather than re-write them all. Likewise its reasonable for its customers to expect to be treated the same. VB6 code needs to be brought forward, not abandoned by Microsoft.
Hundreds of Microsoft MVPs have already added their voice on this, thousands of customers have too. If you feel the same, let Microsoft know.
Bill McCarthy is a Microsoft MVP and chief executive officer at Total Environment
Do you need help with .Net? Gain advice from Builder AU forums







1
Brian B Grant - 04/06/05
All one has to do is look at what MicroSoft is doing to the FoxPro community to realize that as an organization they are not concerned with the needs of there customers. Be it developers or the organizations that are using the software that the developers have created. Right now you couldnt get a strait answer out of Microsofts FoxPro team with a Gun on the chane of seeing version 10.x . And a partisan wont cut it for that exact reason. What is needed here is some type of legal action. A cl**** action suit of some kind would be super! I know that I would personally call up every client that Ive written VB6 apps for over the last 3 or so years and let them know to jump on board. The ONLY thing that Microsoft responds to is money money and more money. If the VB community can tap into that then there may be some hope of a VB6 hybrid solution if not it doesnt seam likely.
Brian G
Sr. Programmer / Application Developer
» Report offensive content
2
A - 05/06/05
Microsoft isn't bringing cl****ic Visual Basic back & that's a shame. However, Microsoft's loss should be someone else's hefty gain. Instead of demanding that Microsoft keep an outdated dinosaur alive, perhaps it's time for a new species of programming language to flourish. Maybe then & only then, will Microsoft realize what a huge mistake it made by letting Visual Basic slip into the history books.
» Report offensive content
3
Alex Samson - 06/06/05
Get a life in the real world !!
VB6 is dying. Yes, it takes a learning curve to move to VB.NET, but once there, you will not want to move back to VB6. The world of COM is also dying, and the last main element in Microsoft's packages to drop COM, will be the Office suite.
Microsoft has already said it will release a version of Office next year which uses XML, and this will herald the final demise of COM, some where around 2008 (my prediction).
Yes, there are lots of VB6 and COM based programs around, but like all programs, they have a limited life, as operating systems develop new features which the older programs (and their User Interfaces) just cannot support economically.
ADO.NET was not perfect when version 1.0 was released, but with version 2.0 (due soon), it is far superior to writing VB6 code in ADO.
Overall .NET is a much more efficient way of programming, once you get over the first stage learning curve. I find that I can develop applications around 20% quicker than in VB6.
Talking to developers who still use VB6, I have found that the main reason they want to stay with VB6, is that they dread the learning curve to VB.NET. Many of these developers are 'self-taught' i.e. they do not necessarily have a degree in computing, and have learned VB6 from books, courses etc. VB.NET is a more structured language, which is geared up to the use of cl****es, and reuseable code. Many 'self-taught' VB6 programmers find the task of effectively undertaking a long learning course in moving to VB.NET, somewhat daunting. Be warned, you cannot stick in the past forever, be prepared to commit at least two working months of your life in the move to .NET. If not, then you may just find yourself in the same playing field as those still programming in BASIC.
So, lets move on to the future, and not stay firmly bogged down in the past. VB.NET is the future !!
» Report offensive content
4
Ian Hughes - 07/06/05
Do I like vb.net?
Emphatically yes.
Do I want to spend a dime porting my client's vb6 apps to it because some nitwit 30-something newly minted Microsoft MBA who's never programmed or worked at a real business in his life decided that it wasn't "cost-effective" for Microsoft to support their own product line or their development community?
Emphatically no.
Is Java and open source looking better and better?
You bet.
» Report offensive content
5
Anteo Antani - 06/07/06
If find that programming in VB6 is much more faster than .NET. Frankly I feel that I do not need the .NET technology. I program in VB6 only in pure object oriented way and I feel that I will never move to .NET.
Anyway VB6 will be supported in Windows Vista till year 2017 then this is not a problem for me. At that time maybe I will move to Java or something else.
» Report offensive content
6
Richard Lee - 18/07/06
Each has its own place.
VB6 is still much faster to do simple things with. VBA is faster still for somethings, like building a few thousand insert statements to create dummy data etc.
I find DotNet faster to do anything complicated or for a serious development (legacy systems permitting) - but I don't use VB.Net, I switched to C#.
C++ was good for those things that could not be done (or where badly supported) from VB (eg services), but took a lot of work and debugging.
I still write COM in VB6 for legacy systems and where servers do not have the Framework or for out-of-the-box solutions that require it (i.e. Microstrategy 7i - later versions were Java based and 8 is DotNet). New projects seem to be invariably DotNet now though.
I wonder how many moved from VB6 to VB.Net and how many went straight to C# instead.
» Report offensive content
7
Victor Ng - 25/07/06
Yes it's true, its really very hard to abandon VB6 especially for the windows applications. I think you can use VB6 for System programs and VB.NET for web applications. VB6 is really a RAD, even a highschool student can learn it. VB6 is the true Visual BASIC.
» Report offensive content
8
.NET devotee - 05/10/06
It's amazing to see how so many developers want to stay in their comfy little VB6 homes. Time to get out and move on. As far as RAD for VB6 ? Sure, the D is RAD but almost guaranteed the testing, maintenance and support will not be RAD. Almost all VB6 code has been a hodge-podged effort. And by the way, by definition VB6 is NOT OO. It only pretends to be something it is not.
I made the move to .NET and by applying proper design methodologies (GoF and others), it is a far better RAD environment then VB6.
I actually feel sorry for people who will not swallow their pride and move on. Get ready, even more changes ahead with Vista
» Report offensive content
9
RICHARD BOWDERN - 03/04/08
I totally agree with the carry over intergration of VB6 with Net, it's the best way to get more developers on the Net bandwagon, as currently many are resisting this.
» Report offensive content
10
Alex - 30/04/08
Our company started to use Visual Basic NET since 2002 and now... we are REWRITING many of our application from VB.NET 2005 to vb6!!!!!. The reason? The performance. We develop huge database client-server applications (200 and more large forms in each, more than 300 tables in database) and without offering anything really interesting for database programming the .ÎÎΤ IDE and applications are so "sticky",so ugly in the matter of performance. The same application written in VB6 runs quick, offers fantastic performance and doesn't loose even a smallest feature after rewriting in VB6.
» Report offensive content