Visual Basic .NET (VB.NET), is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic (VB), which is implemented on the .net fromework. Microsoft currently supplies two main editions of IDEs for developing in Visual Basic: Microsoft Visual Studio 2010, which is commercial software and Visual Basic Express Edition 2010, which is free of charge. The command-line compiler, VBC.EXE, is installed as part of the freeware .NET Framework SDK. Mono also includes a command-line VB.NET compiler.


There are 5 versions of Visual Basic .NET implemented by the Visual Basic team.

Visual Basic .NET (2002) (VB 7.0)

The first version of Visual Basic .NET, which runs on .NET framework 1.0. The most important feature is Managed code, which contrasts with Visual Basic 6.0 and before.

Visual Basic .NET 2003 (VB 7.1)

Visual Basic .NET 2003 was released with version 1.1 of the .NET Framework. New features included support for the .net compact framework and a better VB .net compact framework and a better VB upgrade wizard. Improvements were also made to the performance and reliability of the .NET IDE (particularly the background compile) and runtime. In addition, Visual Basic .NET 2003 was available in the Visual Studio.NET Academic Edition (VS03AE). VS03AE is distributed to a certain number of scholars from each country without cost.

Visual Basic 2005 (VB 8.0)

Visual Basic 2005 was the name used to refer to Visual Basic .NET, as Microsoft decided to drop the .NET portion of the title.
For this release, Microsoft added many features, including:
  • Edit and Continue
  • Design-time expression evaluation.
  • The My pseudo-namespace (overview, details), which provides:
    • easy access to certain areas of the .NET Framework that otherwise require significant code to access
    • dynamically generated classes (notably My.Forms)
  • Improvements to the VB-to-VB.NET converter
  • The Using keyword, simplifying the use of objects that require the Dispose pattern to free resources
  • Just My Code, which when debugging hides (steps over) boilerplate code written by the Visual Studio .NET IDE and system library code
  • Data Source binding, easing database client/server development
The above functions (particularly My) are intended to reinforce Visual Basic .NET's focus as a rapid application development platform and further differentiate it from C#.
Visual Basic 2005 introduced features meant to bridge the gaps between itself and other "more powerful" .NET languages, adding:
  • Features of other .net 2.0 languages such as:
    • Partial classes, a method of defining some parts of a class in one file and then adding more definitions later; particularly useful for integrating user code with auto-generated code
    • Nullable Types
  • Support for unsigned integer data types commonly used in other languages
'IsNot' Operator Patent Application

One other feature of Visual Basic 2005 is the IsNot operator that makes 'If X IsNot Y' equivalent to 'If Not X Is Y', which gained notoriety when it was found to be the subject of a Microsoft patent application.

Visual Basic 2008 (VB 9.0)

Visual Basic 9.0 was released together with the Microsoft .net framework 3.5 on 19 November 2007.
For this release, Microsoft added many features, including:
  • A true conditional operator, "If(condition as boolean, truepart, falsepart)", to replace the "IIf" function.
  • Anonymous types
  • Support for LINQ
  • Lambda expressions
  • XML Literals
  • Type Inference
  • Extension methods
Visual Basic 2010 (VB 10.0)
In April 2010, Microsoft released Visual Basic 2010. Microsoft had planned to use the Dynamic Language Runtime (DLR) for that release but shifted to a co-evolution strategy between Visual Basic and sister language C# to bring both languages into closer parity with one another. Visual Basic's innate ability to interact dynamically with CLR and COM objects has been enhanced to work with dynamic languages built on the DLR such as IronPython and IronRuby The Visual Basic compiler was improved to infer line continuation in a set of common contexts, in many cases removing the need for the "_" line continuation character. Also, existing support of inline Functions was complemented with support for inline Subs as well as multi-line versions of both Sub and Function lambdas.

No comments:

Post a Comment