What is Visual Basic?

The "What, Who, When, Where, Why, and How" of VB!

Microsoft Visual Basic 4.0
Ipernity/Flikr/CC BY 2.0

It's a computer programming system developed and owned by Microsoft. Visual Basic was originally created to make it easier to write programs for the Windows computer operating system. The basis of Visual Basic is an earlier programming language called BASIC that was invented by Dartmouth College professors John Kemeny and Thomas Kurtz. Visual Basic is often referred to using just the initials, VB.

Visual Basic is easily the most widely used computer programming system in the history of software.

Is Visual Basic just a programming language or is it more than that?

It's more. Visual Basic was one of the first systems that made it practical to write programs for the Windows operating system. This was possible because VB included software tools to automatically create the detailed programming required by Windows. These software tools not only create Windows programs, they also take full advantage of the graphical way that Windows works by letting programmers "draw" their systems with a mouse on the computer. This is why it's called "Visual" Basic.

Visual Basic also provides a unique and complete software architecture. "Architecture" is the way computer programs, such as Windows and VB programs, work together. One of the major reasons why Visual Basic has been so successful is that it includes everything that is necessary to write programs for Windows.

Is there more than one version of Visual Basic?

Yes. Since 1991 when it was first introduced by Microsoft, there have been nine versions of Visual Basic up to VB.NET 2005, the current version. The first six versions were all called Visual Basic. In 2002, Microsoft introduced Visual Basic .NET 1.0, a completely redesigned and rewritten version that was a key part of a much larger computer architecture.

The first six versions were all "backward compatible". That means that later versions of VB could handle programs written with an earlier version. Because the .NET architecture was such a radical change, earlier versions of Visual Basic have to be rewritten before they can be used with .NET. Many programmers still prefer Visual Basic 6.0 and a few use even earlier versions.

Will Microsoft stop supporting Visual Basic 6 and earlier versions?

This depends on what you mean by "support" but many programmers would say they already have. The next version of the Windows operating system, Windows Vista, will still run Visual Basic 6 programs and future versions of Windows might run them too. On the other hand, Microsoft now charges big fees for any help for VB 6 software problems and soon they won't provide it at all. Microsoft doesn't sell VB 6 anymore so it's difficult to find. It's clear that Microsoft is doing everything they can to discourage the continued use of Visual Basic 6 and encourage the adoption of Visual Basic .NET. Many programmers believe that Microsoft was wrong to abandon Visual Basic 6 because their customers have put so much investment into it over more than ten years. As a result, Microsoft has earned a lot of ill will from some VB 6 programmers and some have moved to other languages rather than move to VB.NET.

This might be a mistake. See the next item.

Is Visual Basic .NET really an improvement?

Absolutely yes! All of .NET is truly revolutionary and gives programmers a much more capable, efficient and flexible way to write computer software. Visual Basic .NET is a key part of this revolution.

At the same time, Visual Basic .NET is clearly more difficult to learn and use. The vastly improved capability does come at a fairly high cost of technical complexity. Microsoft helps to make up for this increased technical difficulty by providing even more software tools in .NET to help programmers. Most programmers agree that VB.NET is such a huge leap forward that it's worth it.

Isn't Visual Basic only for lower skilled programmers and simple systems?

This was something that programmers using programming languages like C, C++, and Java used to say before Visual Basic .NET.

Back then, there was some truth to the charge, although on the other side of the argument was the fact that excellent programs could be written faster and cheaper with Visual Basic than with any of those languages.

VB.NET is the equal of any programming technology anywhere. In fact, the resulting program using the .NET version of the C programming language, called C#.NET, is virtually identical with the same program written in VB.NET. The only real difference today is programmer preference.

Is Visual Basic "object oriented"?

VB.NET certainly is. One of the big changes introduced by .NET was complete object oriented architecture. Visual Basic 6 was "mostly" object oriented but lacked a few features such as "inheritance". The subject of object oriented software is a big topic by itself and is beyond the scope of this article.

What is the Visual Basic "runtime" and do we still need it?

One of the big innovations introduced by Visual Basic was a way to split a program into two parts.

One part is written by the programmer and does everything that makes that program unique, such as adding two specific values. The other part does all of the processing that any program might need such as the programming to add any values. The second part is called the "runtime" in Visual Basic 6 and earlier and is part of the Visual Basic system. The runtime is actually a specific program and each version of Visual Basic has a corresponding version of the runtime. In VB 6, the runtime is called MSVBVM60. (Several other files are also normally needed for a complete VB 6 runtime environment.)

In .NET, the same concept is still used in a very general way, but it's not called a "runtime" anymore (it's part of the .NET Framework) and it does a lot more. See the next question.

What is the Visual Basic .NET Framework?

Like the old Visual Basic runtimes, the Microsoft .NET Framework is combined with specific .NET programs written in Visual Basic .NET or any other .NET language to provide a complete system.

The Framework is much more than a runtime, however. The .NET Framework is the basis of the entire .NET software architecture. One major part is a huge library of programming code called the Framework Class Library (FCL). The .NET Framework is separate from VB.NET and can be downloaded free of charge from Microsoft.

The Framework is an included part of Windows Server 2003 and Windows Vista.

What is Visual Basic for Applications (VBA) and how does it fit in?

VBA is a version of Visual Basic 6.0 that is used as an internal programming language in many other systems such as Microsoft Office programs like Word and Excel. (Earlier versions of Visual Basic were used with earlier versions of Office.) Many other companies in addition to Microsoft have used VBA to add programming ability to their own systems. VBA makes it possible for another system, like Excel, to run a program internally and provide what is essentially a custom version of Excel for a particular purpose. For example, a program could be written in VBA that will make Excel create an accounting balance sheet using a series of accounting entries in a spreadsheet at the click of a button.

VBA is the only version of VB 6 that is still sold and supported by Microsoft and only as an internal component of Office programs. Microsoft is developing a completely .NET capability (called VSTO, Visual Studio Tools for Office) but VBA continues to be used.

How much does Visual Basic cost?

Although Visual Basic 6 could be purchased by itself, Visual Basic .NET is only sold as part of what Microsoft calls Visual Studio .NET.

Visual Studio .NET also includes the other Microsoft supported .NET languages, C#.NET, J#.NET and C++.NET. Visual Studio comes in a variety of versions with different capabilities that go well beyond just the ability to write programs. In October 2006, Microsoft's posted list prices for Visual Studio .NET ranged from $800 to $2,800 although various discounts are often available.

Fortunately, Microsoft also provides a completely free version of Visual Basic called Visual Basic .NET 2005 Express Edition (VBE). This version of VB.NET is separate from the other languages and is also completely compatible with the more expensive versions. This version of VB.NET is very capable and doesn't "feel" at all like free software. Although some features of the more expensive versions aren't included, most programmers won't notice anything missing.

The system can be used for production quality programming and isn't "crippled" in any way like some free software. You can read more about VBE and download a copy at Microsoft's web site.