VB6 targets the COM infrastructure: a way to communicate with reusable components in Windows. VB6 is simple to use because it contains many powerful functions and features in a runtime library that must be shipped with the programs you compile in VB6. You can create Window applications or reusable ActiveX libraries with VB6. You can either compile VB6 code to native code or to an interpreted P-Code.
VB.NET is the next generation of VB. It targets the .NET Runtime and Framework. The .NET Runtime manages the execution of the program and memory, and the .NET Framework represents reusable components, but incorporates a much broader set of Windows features than the VB6 runtime. Additionally, .NET allows you to have a framework that is usable by many languages, including C#, C++, and Ruby, etc. VB.NET gives you a number of new project choices, including ASP.NET web sites, WPF applications, and console applications, and Windows services (VB Express just supplies the following project types: Windows Form application, Console, WPF application, Class library and WPF Browser application). VB.NET compiles the code to IL, an intermediate byte code used by the .NET Runtime, but .NET will execute this code in native format by running it through a Just-In-Time compiler (it is never run in an interpreted mode).
You can read the following links for more information about VB.NET language, new features in VB.NET9.0 and future features in VB.NET10.0:
·Read chapter1 and chapter2 in Ref 4 about the details of the difference between VB6 and VB.NET.
·For more information about new features in Visual Basic language compared to Visual Basic6, please refer to the MSDN document: