Guest Opinion

Basic Doesn't Fit VB.NET

Visual Basic .NET is a lot of things, but it isn't basic. It's time for a name that reflects the immense power Microsoft has added to the language.

Basic Doesn't Fit VB.NET

Visual Basic .NET continues in the great tradition that Visual Basic began more than 10 years ago. It makes developing Windows applications easy and quick. An event-driven variation of the original BASIC language, Visual Basic .NET carries through on its promise to make Windows programming simple.

Unfortunately, "simple" means "simplistic" to many programmers. Visual Basic's focus on Rapid Application Development (RAD), its original inability to generate low-level components such as device drivers and full-featured COM libraries, and its tie to the BASIC of the past earned the original VB a reputation as a language for novices and weekend programmers. It was considered a language for throwaway prototypes, useful only for making programs that manage your CD collection.

Visual Basic received a lot of ridicule, but it caught on anyway, and each new release brought with it a wave of powerful features, features that had previously only been available in C or C++. You would even hear stories of C developers who coveted Visual Basic innovations that were missing in their own language. Language wars reigned. "I can write a device driver in C, so there." "Oh yeah, well it doesn't take me three weeks just to make an about box for my program, so there!" And on and on it went—as did the steady stream of software developed in both languages.

With the advent of .NET, both Visual Basic and C took a giant step forward into Visual Basic .NET and C#. Both languages were endowed with new syntactic enhancements that made them just different enough from their predecessors to require several new shelves of books at mega-bookstores. Yet their similarities (both sit on top of the .NET Framework) were much larger than their differences. Now, except for some esoteric differences, the languages are nearly identical in terms of raw programming power.

The .NET Framework makes nearly all integrated languages equal in power, yet Visual Basic continues to have a reputation as a simplistic language. It's an unfair assessment, especially when you consider what VB has achieved since its humble beginnings as an interpreted RAD language. C# programmers continue to sneer at their Visual Basic counterparts. "My language has operator overloading, so there." "Oh yeah, well Mom's going to give me the new 'My' keyword, so there." The battle rages on, and Visual Basic developers still seem to garner no respect. What has C# got that Visual Basic .NET hasn't got?

A new name, for one. In fact, this is the fourth name change in the progression of the C language. What started out as B has gone to C, then to C++, and now to C#. If you count the full history, Visual Basic has really had only one name change—from BASIC to Visual Basic—and that occurred more than a decade ago. Visual Basic didn't get a new name this time around. All Microsoft did was tack .NET onto the end of the name. That change simply didn't make clear to the world that the language itself had changed, that it had acquired significant new capabilities, or that it was, in essence, as much of a new language as C# was.

In some cultures, you are given one name at birth, and then you earn another name when you reach a certain age, based on your actions or accomplishments. Why not do the same thing with a programming language that has matured far beyond its youth, a language whose name no longer describes its actual power and use?

Even at this point, a new name would go a long way toward establishing what VB.NET really is. What should Microsoft call it? I say, out with Visual Basic, in with B* ("B star").

Under this new name, B* would be the advanced computer language that provides access to all of the powerful features of the Windows environment, the language that brings both ease and power to Web-based programming, and the language that I use everyday to solve business and computing problems.

With its history of innovation, Visual Basic (and its successor, Visual Basic .NET) has proven itself to be a great programming language. But it also deserves a new name, one worthy of its many accomplishments.

About the Author

Tim Patrick has spent more than thirty years as a software architect and developer. His two most recent books on .NET development -- Start-to-Finish Visual C# 2015, and Start-to-Finish Visual Basic 2015 -- are available from He blogs regularly at

comments powered by Disqus


Subscribe on YouTube