March 16, 2005 12:24 PM PST

Microsoft walks VB tightrope

Facing protests from legions of Visual Basic developers, Microsoft is not backing down. But it is taking steps to keep them on friendly terms.

Microsoft remains "firm" in its plans to end free support for Visual Basic 6 at the end of the month, S. "Soma" Somasegar, the corporate vice president of Microsoft's tools division, told CNET

S. "Soma" Somasegar,
corporate vice president
of Microsoft's tools division

That decision to end free support for Visual Basic 6, which was introduced in 1998, has caused an outcry among some of Microsoft's developer customers, even those with close affiliations with the software giant.

Somasegar said that Microsoft's intention is to ease the migration of customers to Visual Basic.Net, the current version of the product, which is is designed to quickly build Windows desktop applications that tap into databases.

To do that, the company will introduce enhancements in the forthcoming edition of its Visual Basic 2005 meant to "bring back" some ease-of-use features that appeal to Visual Basic developers, he said. For example, a popular feature called "edit and continue" will make its way into Visual Basic 2005, which is due around the middle of the year.

Also, by the end of the month, Microsoft plans to open the VB6 Upgrade Center, an area on its Microsoft Developer Network Web site, which will have technical information to help customers learn Visual Basic.Net.


What's new:
Microsoft is using a carrot and a stick to get Visual Basic 6 developers to migrate: it will cut off mainstream support for the product but the forthcoming version will add features in the forthcoming that recall VB6.

Bottom line:
Despite protests from its customers, Microsoft is tied to decisions it made many years ago to move the millions of VB developers to its .Net development system.

More stories on Visual Basic

"It's sort of like, 'Should I give you fish for dinner or teach you how to fish?'' Somasegar said. "We had this revelation 18 or 24 months ago, that maybe we should be expending our energies and efforts to make it easy to migrate (customers') skills to take advantage of the new world."

A break with the past
Despite Microsoft's stated aim to help its VB6 developers move to the .Net version of the tool, many developers said the company has not done enough.

On March 8, disgruntled users of Visual Basic 6, or "Classic VB," published a petition complaining about the planned end of free support.

Spearheaded by close Microsoft partners, called Most Valued Professionals (MVPs), the group urges Microsoft to continue the development of the older version of Visual Basic and help customers preserve their investment in existing applications. It called on Microsoft to make VB6 one of the languages in Visual Studio.Net, the company's flagship development tool.

The transition to Visual Basic.Net from VB6 is not as straightforward as most Microsoft product upgrades. When it introduced Visual Basic.Net in 2001, as part of the company's Visual Studio family of tools, Microsoft made significant changes to the underlying programming language.

Decided in the late 1990s, those changes--meant to make Visual Basic applications more industrial-strength--were in reaction to the rising popularity of Java, noted Greg DeMichillie, an analyst at Directions on Microsoft. It is estimated that there are about 3 million VB developers.

"Microsoft was seriously concerned about Java or Web development taking all those VB guys away," DeMichillie said. "Pure compatibility with Visual Basic 6 was not a key goal."

Because of the shift in the underlying language, migrating code written in older versions of Visual Basic is more difficult than a typical upgrade. Also, learning Visual Basic.Net is significant jump for developers because it represents a completely different language than VB6, critics say.

Surveys by Evans Data indicate that the number of VB6 developers outnumber the people who have learned VB.Net. Forty-four percent of

Page 1 | 2


Join the conversation!
Add your comment
Evolution rolls on...
I said it before and I'll say it again. Technology evolves. All of this talk about porting applications is totally irrelevant. Why would anyone port an application if it works? My .NET apps work fine, so why would I want to port them to Java? Why would a Java person port to .NET? VB6 won't magically stop working at the end of mainstream support.

I know college kids that are outright gurus in Java, .NET and C++... all at the same time. Does anyone remember what it was like to absorb that knowledge and put it into practice? Apparently not VB6 folks.

More thoughts on my blog...
<a class="jive-link-external" href="" target="_newWindow"></a>
Posted by Jeff Putz (302 comments )
Reply Link Flag
This is just a thinly vieled attempt to wring more money out of developers.

The VB6 'developers' should protest by continue using VB6, MS can't force them to stop, or get smart and stop using MS tools. If you tie yourself to MS, you deserve the headaches and abuse that MS metes out to its customers.
Posted by Bill Dautrive (1179 comments )
Link Flag
Microsoft on right track here....
I have to mostly agree with the poster's comments about this - launched in '98, VB6 has lived pretty much all of its lifecycle. The story didn't really offer anything concrete here about why support should be further extended.

I should add that Java class libraries seem to have more incremental update practices with a lot less whining. (Commnents about how much better Java is than VB can be taken elsewhere - including Java, I already know 3 languages and can make up my own mind.) Maybe MS development platforms would benefit from practices oriented that way.

(more comments @ <a class="jive-link-external" href="" target="_newWindow"></a>)
Posted by ross613 (22 comments )
Link Flag
Borland Opportunity?
Finally, a niche market that can be served by an ISV without fear of competion by Microsoft.
Posted by (1 comment )
Reply Link Flag
WRONG! Time spent for Interoperability could be time spent for porting over
Juval Lowey is completely wrong here. The article says,

"The name of the game is not portability--it's interoperability," he said. "Porting applications is just a waste of engineering effort."

This is totally shortsided and he's got it totally backwards. It should be 'InterOp is a just waste of engineering effort.'

All that time one spends to connect things from an old system to the new system could have been spent on just porting the code over and being done with it. If you decide for InterOp, then make sure you allocate lots of time for maintenance of the old app just in case it doesn't mesh well with the new app.

Planning, Writing, Understanding, Learning, Debugging and Coding interop code is a pain because now you have to employ a developer(s) who is proficient at both systems not only NOW but also in the FUTURE for the things, like bugs, and modifications that are always sure to happen just like it did in the old system before VB.NET came along to begin with.

So each time one has to fix a bug in the OLD system, that same amount of time could have been spent on porting it to the new system.

By choosing InterOp, one already has choosen by default all the hassles, requirements, documentation, and developers to 'STILL' keep the old system up and running. There are going to be tons of situations where the best and fastest place to make changes is in the old system because InterOp is known to be extremely SLOW because it has to translate all the time.

In fact, InterOp will slow down your entire system , cause again, there is another layer it has to go through. InterOp is and will be SLOWER in performance than VB6 by itself or VB.NET by itself. If you look at the performance charts comparing InterOp and take a close look at the testes, you will see a huge drop. So why do something that will slow your system down not only NOW but in the long run? Why use all that "enginnering effort" to make a slow system when you can just port it over and get better speed and better maintenance. YOu can bite the bullet now with a port OR keep biting it for the long term future by using InterOp.

Choosing the InterOp means more pieces to the puzzle that can go wrong and that need to be debugged and documented and supported. Anyway you look at, a system that uses InterOp will have a lower reliability and there will always be these "GOTCHAS"

Any legacy app in VB6 that has this dilemma of whether to port or interop is going to big, not because it's VB6, but because it has years of coding behind it and that raises this question of whether to do a port or the code or use InterOp.

Again, the I.T. Hollywood / Celebrity community gets it wrong as they have very little experience in the real world and more experience in giving powerpoint demos, writing press reports (tech articles) and sounding like a know-it-all. This reminds me of those who sit on the sidelines telling everyone what to do and those who are actually on the field day in and day out making things happen.
Posted by (8 comments )
Reply Link Flag
get a life guys
vb6 is old, it's broken, so much of it is just bad. VB.Net is at least a step in the right direction. Get your heads out of the dino-days and start coding with today's languages.
Posted by aabcdefghij987654321 (1721 comments )
Reply Link Flag
and the best is it's free
free as in beer, gratis, and you pay nothing. In fact with windows 2003 it comes preinstalled!
Posted by aabcdefghij987654321 (1721 comments )
Link Flag
Microsft May Be Hitting a Complaince Wall Here
MS appears to fail to realize what in fact is happening here: For the first time in history a market segment is essentially refusing to migrate to the new revenue stream (This being not one Whidbey about software).

IBM used to play this game of obsoleting code and forec-marching customers in the glory days of big iron; but in the case of IBM what happened was that on the big computers companies quietly did not upgrade until at Y2K the market had devolved to other areas like the PC and some firms were running some code that was 25 years old or older.

MS must figure that as the desktop PC was the escape way back when for those traditionally force-marched by IBM, the marketplace has no place to go but the entanglement and perpetual-pay world of .NET web-tethered apps.

Never mind that the reason the VB6 community uses VB6 is because it represents the zenith of the non-IBM, not desktop-as-terminal method of computing.

.NET is not about Web-centric computing. It is only about placing enough of the underlying Windows core on remote servers that people are forced to the subscription paradigms made possible by .NET.

The computing world, VB6 users in particualr, understand this only too well. Undoubtedly the reason VB.NET is so unlike VB6 is that a no-going-back incompatibility is essential to the .NET strategy, for it is a strategy having no compelling reason to exist except to compel a forced march to rentalware.
Posted by PolarUpgrade (103 comments )
Reply Link Flag
So Switch to REALbasic. It's better.
Great cross platform IDE and cross compiler. Fully object oriented. Easy port from VB. No chains to MS. Creates standalone single-file executables on Windows, OS X, and Linux. Checkout I have no connections to REAL ... just a customer and a fan.
Posted by open-mind (1027 comments )
Reply Link Flag
Perhaps at this point we should be pushing to get Microsoft to release VB6 and the IDE as Open Source. They don't make money on it any more, and the new systems have no real reliance on it. If that were done, VB6 could cleanly be turned into a multi-OS version language.
Posted by hpdvs2 (1 comment )
Reply Link Flag
MS is planing to get ride of VB-Net in 2010... New does become old...
Posted by Mrate (1 comment )
Reply Link Flag

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

What's Hot



RSS Feeds

Add headlines from CNET News to your homepage or feedreader.