This documentation is archived and is not being maintained.

Why Upgrading Is Necessary

Visual Studio 2008

The designers of Visual Basic 2008 had two options—retrofit the existing code base to run on top of the .NET Framework, or build from the ground up, taking full advantage of the .NET Framework. The right decision was to build from the ground up. The result is a product that:

  • Delivers the features most requested by customers (for example, inheritance and threading).

  • Provides full and unconstrained access to the .NET Framework.

  • Ensures that Visual Basic moves forward into the next generation of Web applications.

For example, many of the new features found in Windows Forms (the new forms package) could have been added to the existing code base as new controls or more properties. However, had this been done, developers would not get the benefits of all the other great features inherent to Windows Forms, such as security and visual inheritance.

One of the major goals of Visual Basic 2008 was to ensure that Visual Basic code could fully interoperate with code written in other languages, such as C# or C++. Another goal was to enable Visual Basic developers to harness the power of the .NET Framework simply, without resorting to the programming workarounds traditionally required to make Windows APIs work. Visual Basic now has the same variable types, arrays, user-defined types, classes, and interfaces as Visual C++ and any other language that targets the common language runtime; however, some features such as fixed-length strings had to be removed from the language.

Visual Basic is now a true object-oriented language; some unintuitive and inconsistent features like GoSub/Return and DefInt have been removed from the language.

The result is a re-energized Visual Basic, which will continue to be the most productive tool for creating Windows-based applications and is now positioned to be the best tool for creating the next-generation Web sites. The tradeoff is that Visual Basic 6.0 applications must be upgraded to conform to the new language and forms features, breaking compatibility with earlier versions.