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.