You are on page 1of 2

c  


  


There are quite a few differences in VB6 and VB.NET. We will highlight some of these here
in points:

× The greatest change in VB6 and VB.NET is of runtime environment. VB6 used the
VB-Runtime while VB.NET uses the .Net Common Language Runtime (.Net CLR).
The CLR is much better designed and implemented than VB-Runtime. The CLR uses
better code translation through Just in Time compiler while VB-Runtime interprets
the code. The CLR Garbage Collector is also more efficient than VB6 one as it may
detect cyclic references too.

× VB6 was interpreter based language while VB.NET is a compiled language

× VB6 was not a type-safe language while VB.NET is a type safe language. There is no
variant type in VB.NET and no magical type conversions happen in VB.NET

× VB6 used µOn Error Goto¶ syntax to handle exceptions at runtime. VB.NET uses the
Try«Catch«Finally syntax to handle exceptions at runtime.

× ^ lot of code (like user interface code) in VB6 was hidden from developer. In VB.NET
no code is hidden from developer and you can access and control each part of your
application

× VB.NET has much enhanced object oriented support than VB6

× VB6 does not allow developing the multithreaded applications. In VB.NET you can
create multithreaded applications.

× VB6 was only considered good for desktop windows application. In VB.NET you can
also develop web applications, distributed applications, create .NET windows and
web controls and components, write windows and web services.

× In VB.NET, you can also use reflections to read the meta-data of types and using
reflection emit you can also generate code to define and invoke types at runtime.

× VB.NET uses .NET framework class library along with specialized VB library
(System.VisualBasic) as a standard library. ^s a result, the standard library for
VB.NET is much enhanced and useful compared to VB6 standard library

× VB.NET is platform independent because of .Net framework. Programs written in


VB.NET can run on any platform where .Net framework is present. The platform
include both hardware and software (operating system) platforms.

× VB.NET also supports language interoperability with various .NET compliant


languages. This means that you can use and enhance the code written in other
.NET compliant languages. Similarly the code written in VB.NET can also be used
and enhanced by other .NET compliant languages. ^lthough VB6 also provided this
functionality through COM but it was limited and difficult to use and manage.
VB.Net makes it easier because of the presence of Intermediate Language (IL) and
Common Language Specification (CLS) of the .NET architecture.
× VB6 uses COM (Component Object Model) as component architecture. VB.NET uses
assemblies as its component architecture. The ^ssemblies architecture has
removed a lot of problems with COM including DLL-Hell and versioning problem.

× Components created in VB6 (COM) need to make and update registry entries.
VB.NET does not require any registry entry making the deployment easier

× VB6 used ^SP to build web applications. VB.NET uses ^SP.NET to build web
applications.

× VB6 used ^DODB and record-sets to implement data access applications. VB.NET
uses ^DO.NET and datasets to build data access applications. The ^DO.NET also
supports the disconnected data access

You might also like