Three Big VB.NET Changes
Much has been written about the changes coming in VB.NET. Most of the writing focuses on the new features. After having spent some time with VB.NET, however, I believe there are some basic changes that will affect the day-to-day programming of VB developers.
First, the fact that the forms engine has been replaced by WinForms leads to some fundamental changes. For example, gone are the line and shape controls; instead, you have to program shapes using the GDI+ library. Lines are often "faked" by using labels that have a width set to one. Therefore, people spending a lot of time building user interfaces will see some big differences.
Most developers are doing some sort of database access, and perhaps one of the biggest changes you will face is the change from ADO to ADO.NET. Not only have the names of the objects changed, the paradigm has changed. ADO.NET uses a disconnected model, in which your data is stored in memory, with no live connection to the database server. In addition, the data held in memory can be stored in a variety of logical tables; instead of storing the data in one table, you can create an entire schema of tables and relationships in memory. This schema does not have to map directly to any schema in a back-end database, which means you could pull data from multiple sources but work with it like one consistent database.
Finally, the use of the System namespaces will require you to learn a new set of classes and functions. While this may sound like a lot of work, it actually will end up making the creation of applications easier. The System namespaces are a set of functions provided to any .NET language by the .NET Framework itself. This means you have a whole set of base functionality that is available to you that provides access to all the features of the .NET Framework, such as security, lifecycle management, and multithreading.