| The initial release of the .NET platform (circa 2001) caused quite a stir within the Visual Basic programming community. One the one hand, many die-hard VB 6.0 developers were up in arms at the major differences between VB 6.0 and Visual Basic .NET. Individuals in this group were a bit stunned to see that VB .NET was not in fact “VB 7.0” (i.e., the same syntax and programming constructs as VB 6.0 with some new features thrown in for good measure), but something altogether different.
The truth of the matter is that VB .NET has little to do with VB 6.0, and might best be regarded as a new language in the BASIC family. This cold hard fact caused some individuals to recoil to such a degree that they coined terms such as “VB .NOT” or “Visual Fred” to express their displeasures. In fact, there are even web sites (http://vb.mvps.org/vfred/Trust.asp) and petitions dedicated to criticizing Microsoft’s decision to abandon VB 6.0 in favor of this new creature termed VB .NET.
Beyond the major syntactical changes introduced with VB .NET, several VB 6.0–isms have been deprecated or entirely removed under the .NET platform, which only added to the confusion. As well, the core object models (data access, web and desktop application development) used for application development are entirely different from their COM-based counterparts. To be sure, Microsoft could have done a better job letting developers know up front that VB .NET had very little to do with the much beloved VB 6.0 programming language (to this end, the term “Visual Fred” is not too far off ).
On the other end of the spectrum, there were many VB 6.0 developers who were excited by the myriad new language features and openly embraced the necessary learning curve. Members of this group were ready to dive into the details of object-oriented programming (OOP), multithreaded application development, and the wealth of types found within the .NET base class libraries. These individuals quickly realized that in many (if not a majority of ) cases, existing VB 6.0 code could remain VB 6.0 code, while new development could take place using the .NET platform and Visual Basic .NET.
Strangely enough, there is also a third group of individuals, formed with the release of Visual Basic .NET. Given that VB .NET is indeed a brand new OOP language, many developers who would have never considered learning a BASIC-centric language (typically C++, Java, C# programmers) were now much more open to the idea of exploring a language devoid of semicolons and curly brackets.
With the release of .NET 2.0, the Visual Basic .NET programming language has been officially renamed as Visual Basic 2005—perhaps in an attempt to highlight the fact that the BASIC language used with the .NET platform has nothing to do with the COM-centric VB 6.0. As you would guess, VB 2005 adds even more language features to a developer’s tool chest such as operator overloading, custom conversion routines, and generics. For all practical purposes, there really is no difference between VB 2005, C#, or any other .NET programming language. Now more than ever, an individual’s language of choice is based on personal preferences rather than the language’s overall feature set.
In any case, regardless of which group you identify with, I do welcome you to this book. The overall approach I will be taking is to treat VB 2005 as a unique member of the BASIC family. As you read over the many chapters that follow, you will be exposed to the syntax and semantics of VB 2005, dive into each of the major .NET code libraries (Windows Forms, ASP.NET, ADO.NET, XML web services, etc.), and have a thorough grounding in object-oriented development. |