Microsoft walks VB tightrope

Free support for developer tool ends this month, but Microsoft is trying to ease the transition.

Martin LaMonica Former Staff writer, CNET News
Martin LaMonica is a senior writer covering green tech and cutting-edge technologies. He joined CNET in 2002 to cover enterprise IT and Web development and was previously executive editor of IT publication InfoWorld.
Martin LaMonica
5 min read
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 News.com.

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

developers report working with VB, while 34 percent work with VB.Net--a percentage that has remained constant since the introduction of VB.Net at the end of 2002, according to Joe McKendrick, a research consultant with Evans Data.

The petition protesting the shift, which was signed by more than 2,000 people, including 222 MVPs, has sparked a debate in the Microsoft development tool community.

Proponents of Classic VB argue that Microsoft is essentially stranding its older VB customers.

"Any organization with an investment in Visual Basic code--consultants, ISVs, IT departments, businesses, schools, governments--are forced to freeze development of their existing VB code base, or reinvest virtually all the time, effort, intellectual property and expense to rewrite their applications from scratch," wrote developer and author Rich Levin in a recent blog entry.

Others developers argue that those VB6 customers should make the move to newer Microsoft technologies.

Juval Lowy, founder and chief architect of consulting firm iDesign, said that current VB6 or older applications do not need to be "ported" to work with Visual Basic.Net. Instead, developers can leave older VB code essentially intact and find ways to share data between older VB applications and newer ones.

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

Carrot and stick
Responding to specific requests in the Classic VB petition, Somasegar said that Microsoft does not intend to release a new version of the "migration wizard" for moving VB6 code to Visual Basic.Net.

Also, the company will not make the changes to VB6 to allow it to run as another programming language in Visual Studio. That approach would be "technically implausible," Somasegar said.

In addition, Somasegar gave details of some of the company's efforts to keep existing customers of older versions of VB6 in the Microsoft fold. With Visual Studio 2005, which is code-named Whidbey, developers will be able to use prewritten components, called controls, that worked with VB6, he said.

"To be fair, we did lose a little bit of the VB experience when made transition from VB6 to VB.Net," Somasegar said. "Whidbey Visual Basic is going to provide the best RAD (rapid application development) experience that they have ever seen."

The VB6 Upgrade Center will provide information on how VB6 developers can continue to use their existing applications by using VB and VB.Net together, said Jay Roxe, product manager for Visual Basic.

Roxe noted that customers can purchase support on VB6 for three more years or use credits from an existing support contract for VB6-related incidents. Microsoft already added two years to its initial deadline for cutting off mainstream support, extending it to seven years.

Microsoft has little choice but to follow through on the decisions it made regarding the move to .Net several years ago, DeMichillie said.

The "carrot" Microsoft can use to entice VB6 developers to migrate are new features, such as the Avalon presentation system and Indigo communications being built into the Windows operating system, DeMichillie said. The "stick" is cutting off mainstream support, he said.

"There's not a huge difference between mainstream versus extended support," DeMichillie said. "But companies don't like it: It's a psychological milestone which says that the product is getting long in the tooth."