||Start-to-Finish Visual Basic 2005: Learn Visual Basic 2005 as You Design and Develop a Complete Application|
||Nov 15, 2006|
Welcome to.NET! I might as well have said, "Welcome
||Start-to-Finish Visual Basic 2005: Learn Visual Basic 2005 as You Design and Develop a Complete Application|
||Nov 15, 2006|
Welcome to.NET! I might as well have said, "Welcome to the Solar System," because like the solar system,.NET is huge. And it's complex. And it's filled with black holes and other things that don't always make sense. Yet it (.NET, not the universe) turns out to be a fantastic system in which to develop software applications.
The.NET Framework was not developed in a vacuum (unlike the universe); Microsoft designed it and its related development languages—especially C# and Visual Basic—to address various issues that plagued Windows software developers and users. To fully understand why.NET was necessary, we need to take a short trip down computer memory lane.
Practical general-purpose computers have been around since the mid-twentieth century. However, they were inaccessible to most people because:
- they cost millions of dollars,
- they consumed gobs of electricity,
- maintenance and programming could only be done by highly-trained specialists, and
- they tended to clash with the living room furniture.
Fast forward about 30 years. IBM comes out with the "personal" computer. These "desktop" computers represented a great advance in technology, but only a minority of people ever used them. They continued to be expensive (thousands of dollars), and maintenance and programming still required significant investments in training. IBM PCs also looked hideous around the living room furniture.
Then came the Apple Macintosh. With its sleek design and its user-friendly functionality, it introduced the joy of computing to the masses. And while programming it was not always straightforward, it did give nice results. It's no wonder that Bill Gates decided to copy—oops, I mean improve upon—its functionality.
Microsoft Windows 1.0 brought a greater level of usability to the IBM/Intel computing platform. But it wasn't a free ride for programmers. MS-DOS development was hard enough without the addition of the "message pumps" and the hundreds of Application Programming Interface (API) calls needed by Windows programs. Visual Basic 1.0, introduced in 1991, greatly simplified the development process, but with the advent of 32-bit systems, ActiveX and COM components, and the Web, even VB programmers soon felt overwhelmed.
Throughout the 1990s, the situation only seemed to worsen. Microsoft saw increased competition in the form of the Java language and the Linux operating system. Hackers were exploiting buffer overruns and other security issues present in the Windows platform. Users experienced myriad computer problems stemming from conflicting standards, competing data integration technologies, registry bloat, and "DLL hell." In frustration, an Excel user's group set fire to the entire Microsoft campus in Redmond.
Well, it didn't get that bad. But Microsoft did see that it needed to address the overall software development and usability issues on its beloved Windows platform. Its solution came in the form of the.NET Framework.
Back to Introducing.NET
When Microsoft announced its plans for.NET, it surprised many developers, especially Visual Basic developers, who saw it as a giant step backward for "Rapid Application Development." But the release of the.NET Framework version 1.0 in 2002 did bring many needed benefits.
.NET introduced a unified programming environment. All.NET-enabled languages compile to "Microsoft Intermediate Language" before being assembled into platform-specific machine code. Visual Basic and C# are language wrappers around this common.NET "language." Because all.NET-enabled compilers speak the same underlying language, they no longer suffer from the many data and language conflicts inherent in other component-based systems such as COM. The.NET version of Visual Studio also unified the standard user interface that lets programmers craft source code.
.NET committed developers to object-oriented technologies. Not only does.NET fully embrace the object-oriented programming paradigm, everything in.NET is contained in an object: all data values, all source code blocks, and the plumbing for all user-initiated events. Everything appears in the context of an object.
.NET simplified Windows programming. Programming in Visual Basic before.NET was easy enough, until it came time to interact with one of the API libraries, something that happened a lot in professional programming. With.NET, most of these APIs are replaced with a hierarchy of objects providing access to many commonly needed Windows features. Because the hierarchy is extensible, other vendors can add new functionality without di