← New search

Other meanings of Visual Basic .NET

Programming Languages

Visual Basic .NET

Visual Basic .NET (VB.NET) is an object-oriented programming language developed by Microsoft, and the flagship language of the .NET Framework. It is the direct successor to Visual Basic 6.0, but is not backward-compatible with it; VB.NET is a complete rewrite that runs on the .NET Common Language Runtime. It is designed for building Windows applications, web applications, and services, and is known for its readability and ease of use, making it a common first language for beginners.

2001
First released
Release year
VB.NET
Common abbreviation
Abbreviation
Microsoft
Developer
Developer
Object-oriented
Paradigm
Paradigm
1

History and evolution

Visual Basic .NET was introduced with the .NET Framework in 2001, replacing the classic Visual Basic 6.0. The transition was controversial because VB.NET was not backward-compatible; many VB6 programs required significant rewriting. Microsoft positioned VB.NET as a fully object-oriented language, with features such as inheritance, interfaces, and garbage collection, which were absent in VB6.1 Over the years, VB.NET has seen multiple versions, each tied to a .NET Framework release. The language has remained largely stable since .NET Framework 4.0, with Microsoft focusing on C# for new features. In 2023, Microsoft reaffirmed that VB.NET would continue to be supported but would not receive new language features, marking a shift to maintenance mode.

2

Language features

VB.NET is a statically typed, object-oriented language that compiles to Intermediate Language (IL) and runs on the .NET Common Language Runtime. It supports classes, inheritance, polymorphism, and interfaces, as well as structured exception handling with Try...Catch. VB.NET is case-insensitive, unlike C#, and uses a syntax that is more verbose but often considered more readable. It includes features like WithEvents and Handles for event-driven programming, and LINQ for data queries. The language also supports optional parameters, late binding, and COM interop, which eased migration from VB6.2 VB.NET is often used for rapid application development (RAD) due to its integrated development environment and drag-and-drop design tools.

3

Applications and ecosystem

VB.NET is widely used for building Windows desktop applications, Windows services, and web applications using ASP.NET. It is also used for Office automation and scripting within Microsoft Office via VSTO. Many legacy business applications, particularly in finance and enterprise environments, are written in VB.NET. The language is supported in Visual Studio, and there is a large community of developers and a wealth of third-party libraries. However, its popularity has declined in favor of C#, which is now the primary language for .NET development. Despite this, VB.NET remains a viable choice for maintaining existing codebases and for developers who prefer its syntax.3

4

Lesser-known aspects

One lesser-known fact is that VB.NET was originally code-named 'Visual Basic 7' during development, but was renamed to emphasize its break from the past. Another is that VB.NET supports the My namespace, a set of shortcuts that simplify common tasks like accessing application settings and resources, which is unique to VB.NET and not present in C#. VB.NET also has a feature called 'Edit and Continue' that allows developers to modify code during debugging without restarting, a feature that was initially missing but later added. Additionally, VB.NET can be used to create Xbox 360 games via the XNA framework, though this is now obsolete. The language also has a strong following in the educational community due to its gentle learning curve.4

Glossary

Common Language Runtime
The virtual machine component of the .NET Framework that executes managed code.
Intermediate Language
A low-level, platform-independent language that is compiled from source code and then JIT-compiled to machine code.
LINQ
Language Integrated Query, a set of features in .NET that allows querying of data from various sources using a SQL-like syntax.
COM interop
A mechanism that allows .NET applications to interact with Component Object Model (COM) components.

This article focuses on the .NET implementation of Visual Basic, not the earlier classic Visual Basic versions.