demarc
  

Resource Logic Client/Server Development Services

Legacy Maintenance

Visual Basic 6


Visual Basic 6 was the point in language development where the 32-bit programming environment became useful to the run-of-the-mill business programmer.  One can trace a path from the 1960s: Cobol on mainframes, various proprietary languages, many based on either C++ or Basic on minicomputers, GW and QuickBasic on microcomputers, and dBase and Foxpro on the larger networked PCs of the late 1980s and early 1990s.  The 80386 CPU was introduced in 1986, although early boxes could easly cost $10,000.  With the emergence of Windows 98 and NT 4.0, programmers could quit thinking about extended memory managers, 16-bit integer data types, and slicing programs into .DLLs and overlays.

Visual Basic 1 arrived in 1991, operating primarily on 16-bit computers.  The trial and error process of understanding how the language would be used, the operational consequences of design decisions, integration of true 32-bit operating systems, and the 'cousin' (Visual Basic for Applications, seen primarily in Microsoft Access) evolved into the critical mass necessary for the language to dominate the desktop custom programming environment in the late 1990s.  Someone that wanted to create a distributable, database driven order entry system could do so without having to think much about the memory environment, operating system, or database interface.  The consequence was an explosion of VB6 apps.  There are national banking systems in various parts of the world still running business critical applications based on VB6.  It is common to find 'help-wanted' ads seeking to hire dozens of VB6 programmers.

There were a number of critical issues with VB6 that Microsoft addressed in the emergence of the CLR (.NET) languages.  One was a huge divide between Web-based and Windows-based programming, another was security issues, and a third was support for extensive interface libraries.  In comparison to VB6, the VB.NET (and C#) development platforms do an enormous amount of work for the programmer.  In many cases, however, this is overkill.  In a situation where a business needs to control their desktop, VB6 can get a form on the screen, communication with an SQL database, and printer support with a minimum of bother.

VB6, and it's lookalikes, has wormed it's way into dozens of computing platforms, including mobile (Pocket PC), Linux derivatives, embedded control, Java Runtime Environment (JRE), and so on.  It is commonly used as a 'middleware' layer in web applications, typically for making calls to SQL databases, and formatting the returned rowsets in HTML or XML.  The 'sweet spot' ran from 1998, when VB6 was released, to 2003, when the .NET technologies began to usurp the distinct Winforms and Web deployment platforms.  This was concurrent with the .COM boom, and literally millions of applications and components were developed.

As a result, there are tens of thousands of legacy applications operating, many of which are nearly invisible.  'Nearly invisible' might be COM components integrated with Microsoft Access (or other Microsoft Office products), .DLLs invoked by web scripts, SQL Server packages, PDA or embedded control, or Winforms applications that are in effect, embedded control.  One example that came to light was when a managed services company was asked up upgrade the access control system for a 35 story building: when the computer was finally located it was discovered it was running Windows 95 - unmodified - since the system had been put in in the mid 1990s.

Users that have legacy web or desktop applications may be using COM-based VB products unknowingly, and are (or will be) exposed to a rude shock in a situation where they need to migrate to a new box or platform.

If you have any questions, you may eMail us at Info@ResourceLogic.Net