Main Page | See live article | Alphabetical index

Visual Basic .NET

from Microsoft's Visual Basic (VB), Visual Basic .NET (VB.NET) is an improvement from classic VB. The enhancements of the computer language are targeted to use the Microsoft's .NET framework and to bridge the gap towards the C#. Visual Basic .NET is, in general, syntactically similar to Visual Basic, but includes object-oriented features and an object hierarchy based on the .NET framework that makes it a more complex system as compared to other variants of BASIC. A migration wizard is available in Visual Studio .NET, although many features must be recoded by hand due to the extensive changes in the object library.

Like C#, VB.NET compiles to MSIL which needs to be JITtedted as it is executed. The MSIL produced by VB.NET is identical to that produced by C#, which is why C# and VB.NET (and Managed C++ for that matter) can communicate directly with one another. Though the MSIL is identical between languages, C# has some features that VB.NET lacks, and vice versa. For example, VB.NET supports late binding, where the type of an object (or variable) can be determined at run-time.

Table of contents
1 Changes
2 Controversy concerning VB.NET
3 External Links

Changes

Visual Basic starting from version 1 through version 6, and now in the version called .NET, got more complex, albeit more powerful, with each revision. The following simple example gives an idea

Classic VB example:

Private Sub Command1_Click()

  MsgBox "Hello, World"

End Sub

A VB.NET example:

Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click

       MessageBox.Show("Hello, World")

End Sub

There is extensive documentation that covers changes in the syntax (rules of the language), the changes in debugging applications, deployment and terminology.

Controversy concerning VB.NET

Visual Basic .NET could be said to represent a bold and aggressive business move by Microsoft, because it discontinues a large number of capacities that were present in earlier versions of Visual Basic (which are now no longer sold); however, to balance the argument, VB.NET is a much more powerful language in some respects, incorporating modern programming paradigms. Indeed, some experts in Visual Basic .NET have characterized it as an entirely new programming language. Visual Basic programs that relied heavily on such things as databases and graphics will, in general, have difficulty in migrating to VB.NET, while programs such as mathematical programs that are mainly algorithm based, can be migrated with fewer difficulties.

It is estimated that as a result, a great deal of time and effort is being expended rewriting (and newly debugging) old Visual Basic code. In addition, where the debugging process is not carried out perfectly, the updated code will cause program users to experience errors not present in earlier versions of the same programs. The total cost to the world economy of these problems is unknown, as one waits for more .NET applications to hit the marketplace.

External Links