What are the differences between VB6 and VB.NET? What are the advantages and disadvantages of VB.NET?
The differences between VB6 and VB.NET transcend the languages. VB.NET is part of a brand new platform, based on the .NET Framework. All languages in .NET are based on this new platform, which allows many great new capabilities for a VB developer. Because the .NET Framework is fully object-oriented, .NET languages also must support OO features. The result is that VB.NET is fully object-oriented. This is a huge difference and is a powerful improvement over previous version of VB. It also introduces another level of complexity along with this new power.
In many ways, VB.NET can be seen as an entirely new language. Oh, much of the syntax is still there, and yes, much of it has changed. But the real differences in VB.NET are in the way we accomplish various tasks. Everything is done through the .NET Framework. All .NET languages use the same .NET classes - C#, VB, COBOL, J#, etc. In short, from a language perspective, much of the syntax will be familiar, but the way to accomplish things has changed dramatically.
From a platform perspective, there are many advantages to .NET over COM+. First and foremost in my mind is the end DLL hell. In .NET, assemblies (analogous to executables in COM), need not be registered with RegSvr32. .NET uses the concept of namespaces. This makes deployment a breeze! In most instances, simply copying files to a destination is all that is needed to complete a deployment. Various application settings can be stored in XML config files which also makes things a bit simpler.
There are many other advantages to .NET:
- Full object-oriented capabilities
- An incredible IDE
- Cross-language inheritance
- Real VB (or C#, etc) in ASP.NET, not VBScript
- Web service tools
- One way to do things, no matter what .NET language you are using