Visual Basic .NET is one of the two flagship languages (with C#) for the .NET framework from Microsoft. Despite being called Visual Basic, it is actually not backwards-compatible with VB6, and any code written in the old version will not compile under VB.NET.
As a language, Visual Basic.NET has the following traits:
As with all .NET languages, VB.NET includes full-blown support for object-oriented concepts, including simple inheritance. Everything in VB.NET is an object, including all of the primitives (Short, Integer, Long, String, Boolean, etc.) as well as types, events, and even assemblies. Everything inherits from the Object base class.
All previous versions of Visual Basic were event-driven, but this feature is heavily enhanced under the .NET framework. Events are no longer recognized because they use a certain naming convention (ObjectName_EventName), but now are declared with a Handles ObjectName.EventName clause. Event handlers can also be declared at runtime using the AddHandler command.
As the name implies, VB.NET runs on top of Microsoft's .NET framework, meaning the language has full access to all of the supporting classes in the framework. It's also possible to run VB.NET programs on top of Mono, the open-source alternative to .NET, not only under Windows, but even Linux or Mac OSX.
As of version 10.0, VB.NET supports generics, anonymous classes, lambda functions, anonymous types, and other great features that make it a great language to learn and use.
If you do not have the full version of Microsoft Visual Studio, Microsoft provides free tools to create .NET applications using Visual Basic Express.
Using Linux, Mac OSX
You can use MonoDevelop with Linux, Mac OS, or Windows. Despite being limited in its support for all of the features of the language, it allows for cross platform development.