Visual Basic Then and Now
Visual basic won’t support large scale applications, but you can build them around visual basic. Because the needs of enterprise or large scale applications were at odds with visual basic, mostly because of the lack of important object-oriented programming features that would make large-scale development projects manageable. This often led to code bloat and odd designs that were difficult to maintain.
Visual basic has always been known as rapid application development (RAD) platform. One fairly common approach to developing applications was to implement them quickly in visual basic isolate the critical performance areas and replace the components with Visual C++ components. This type of development offered three distinct advantages:
ü You could create a fully functional application relatively quickly.
ü You had a reference implementation for the admittedly harder to build C++ components.
ü Your test people could build tests based on the visual basic code right away. Providing a great functional check against any replacement components.
The Limitation of COM
COM has to be the most successful component architecture in the entire history of computing. Visual Basic is by far the best platform for creating COM components quickly and easily. But COM is not without its own problems:
ü You cannot inherit from COM components. COM offers no inherent ability to extend COM components. This is a significant architectural limitation, although it obviously has not presented too great a limitation.
ü COM dependent on a registry. This causes interesting deployment issues. Most COM cannot deploy without some kind of installation package.
ü Versioning under COM is its own sort of hell. Over time, a new term was coined to describe this situation: DLL hell. Lack of version checking new DLL over write old DLL and DLLs with same name being installed in a common directory have all contributed to this problem.
Visual Basic: The Next Generation
Visual Basic .NET is a major advancement as a language and development platform. The combination of Visual Basic .NET and the .NET framework provides a wealth of features unmatched by classic Visual Basic.
Moving Beyond COM
Visual Basic .NET and the .NET common language runtime (CLR) address the limitations of COM in four key areas:
ü Implementation inheritance. Visual Basic .NET not only provides implementation inheritance, but it goes a step further. This architecture of the .NET framework allows components to be extended through inheritance mechanism.
ü Type-aware runtime COM is built on interfaces, so it has a form of runtime checking. With the .NET CLR you can take any object and dynamically discover all of its interfaces, inheritance hierarchy, properties, methods, and fields.
ü Reduced registry dependencies .NET components don’t require the use of the system registry. The recommended way to manage your Visual Basic .NET application‘s settings is through an application configuration file, not the registry.
ü Side-by-side deployment supporting two versions of the same application on the same machine used to require a lot of work. You had to ensure that newer version of the same COM components wouldn’t overwrite each other.