By George Mack, 3rd edition, Copyright June 2002
In 1975, Microsoft launched its first product: a BASIC compiler for the MITS Altair, an early kit microcomputer.
When IBM launched its Personal Computer (PC), the software supplied included small ROM- and disk-based versions of BASIC. IBM's PC-DOS (written by Microsoft) included an expanded, disk-based version of BASIC called BASICA (advanced BASIC). Microsoft's MS-DOS for PC compatibles included a similar program called GWBASIC. The difference between BASICA and GWBASIC was that BASICA required the built-in ROM BASIC to be present.
Both BASICA and GWBASIC were interpreters that translate and execute one instruction at a time. Interpreters are easier to implement and require no memory for object code, but the code runs much slower than compiled programs.
QuickBASIC was a BASIC compiler launched around 1983 for commercial programmers who wanted to write larger programs in BASIC on PC's. Programs compiled with QuickBASIC ran four to ten times faster than under BASICA or GWBASIC. Microsoft claimed that, on an 8-MHZ IBM PC-AT, the QuickBASIC compiler could translate code at 150,000 lines per minutes (fast compared to many compilers for other languages). Furthermore, QuickBASIC was upwards compatible from the BASIC interpreters. QuickBASIC went through several upgrades, ending with version 4.5 released in 1988.
In 1987, IBM launched the PS/2 personal computers. Newer IBM and compatible PCS stopped including ROM BASIC with the hardware. Other factors, including the rapid development of applications software and increasingly sophisticated compiled languages, combined to make the original BASIC interpreters obsolete. Microsoft shipped a replacement, called QBASIC, with MS-DOS versions 5 (May 1991) and 6 (March 1993). QBASIC is a disk-based interpreter system that comes with MS-DOS and with Windows 95. QBASIC implements the same language as QuickBASIC, but does not include some of the advanced debugging commands. Internal memory management is also different.
A number of improvements distinguish QuickBASIC and QBASIC (together, QBs)
from earlier BASIC interpreters. Source files are saved in ASCII format,
whereas earlier BASIC systems stored compressed encoded source files. Both
QBs include a full-screen, menu-driven editor. The newer languages allow a
maximum program/data space of 160K, where the previous limit was 64K. New
data types were added for increased computing power.
Graphical User Environments/Interfaces (GUIs) were demonstrated at the Xerox Corporation's Palo Alto Research Center (Xerox PARC) in 1975. Located in Silicon Valley, near one of the world's leading schools of computer science (Stanford University), and founded in 1970, Xerox PARC was responsible for many stellar innovations in computing and electronics. It is certain that neither Apple nor Microsoft had anything to do with the original conception of GUIs.
The Apple Computer company introduced two machines featuring GUIs in the 1980s. The first, named the Lisa (1983), was an evolutionary advance for Apple although not a commercial success. The second model was the Macintosh (1984), first in a product line that has continued to this date.
In 1985, four years after the introduction of the PC, Microsoft launched version 1 of its Windows interface. Early versions of Windows were add-ons that ran "on top of" the MS-DOS operating system. Versions 1 and 2 of Windows included a primitive user interface similar to the Windows Explorer. To run a program under these systems, one located the file and double-clicked it.
Windows 3.0, introduced in 1990, included the first predecessor of the
"desktop" of today's Windows systems. An updated version, Windows 3.1, was
launched in April 1992, and included some key technological advances, including
the powerful TrueType font system licensed from Apple. This was the version
that "caught fire" and began a revolution in PC-compatible software markets.
Windows 95 was the first version that stood alone and did not require the
DOS operating system to run. It was also the first version to run code in
the 32-bit "native" mode of newer Intel processors such as the 486 and
Pentium families. Windows 1, 2 and 3.x ran code in a slower 16-bit
Alan Cooper is considered the father of Visual Basic. In 1987, the then Director of Applications Software for Coactive Computing Corporation wrote a program called Ruby that delivered visual programming to the average programmer/user.
The increasing popularity and sophistication of graphical user interfaces (GUIs) led Microsoft to introduce Visual Basic (not spelled with capitals) in 1991. Tom Button, Group Product Manager for Applications Programmability at Microsoft, headed the team that produced QuickBASIC and QBASIC. This same group developed Visual Basic by combining Ruby with QuickBASIC.
On June 15th 2001, a page on Microsoft's Web site entitled "Visual Basic 10th Birthday" included the following paragraph, entitled "Thunder": «Initially, Visual Basic 1.0 was intended to be a very tactical product. Microsoft had several initiatives in development leading up to Visual Basic 1.0, all of which were intended to develop into long-term, strategic, graphical, object-oriented programming tools. As is typical with version 1.0 products, however, the Visual Basic 1.0 product team was forced to cut features from its long list of ideas in order to actually deliver the product to market. As a result, the first Visual Basic offering included little more than the Embedded Basic technology that had originally shipped in Microsoft QuickBasic 4.0 (Microsoft's threaded p-code and incremental compiler) and a simple shell design tool originally licensed for but never used in Windows 3.0. Approximately 12 months after development on version 1.0 began, Microsoft released this "placeholder" development tool, code-named "Thunder."»
The Visual Basic (VB) system is a fourth generation programming system which produces much of the code itself as the programmer designs the interface for his or her application. Microsoft surveys in the late 1990's showed that roughly two-thirds of all business applications programming on PCs was being done in Visual Basic.
At one time Visual Basic could produce code for both DOS and Windows applications. Today, however, Microsoft considers DOS to be obsolete and promotes the Windows environment exclusively. QBASIC continued to ship on the Windows CD-ROM up to (at least) version 98SE and so, at the time of writing, may still be available.
When Visual Basic 1.0 was released, Bill Gates, Chairman and CEO of Microsoft, described it as 'awesome'. Steve Gibson in Infoworld said Visual Basic is a 'stunning new miracle' and would 'dramatically change the way people feel about and use [Microsoft] Windows.' Stewart Alsop was quoted in the New York Times as saying Visual Basic is 'the perfect programming environment for the 1990's'.
VB's success may be largely due to the simplification that it brought to Windows application programming. Prior to Visual Basic, Windows applications programming required mastery of huge subroutine libraries and hundred of lines of code to create even simple screen elements. VB eliminates the need to write code for GUI input/output, thus reducing by orders of magnitude the length of code and time to develop an application. Charles Petzold, author of many of the standard reference works on Windows programming in C, was quoted in the New York Times as saying "For those of us who make our living explaining the complexities of Windows programming to programmers, Visual Basic poses a real threat to our livelihood".
However, successful programming in this system requires an understanding
of asynchronous event-driven multi-programming, networked, client-server
and database architectures, and therefore it has been suggested that
QBASIC and other third generation languages still better meet the design
goals that Kurtz and Kemeny originally set, i.e. to be easy to learn and
rapidly useful for a wide range of simple programming problems.
Visual Basic 1.0 for Windows was first released on May 20, 1991 at the Windows World convention in Atlanta Georgia. In September 1992, Microsoft announced Microsoft Visual Basic for MS-DOS in Standard and Professional editions. Like Visual Basic for Windows, this version combined the ease of graphical design with the power and versatility of traditional programming. Developers simply drew the user interface and attached code that responded to events. However, following the release of Windows 3.1 in March 1992 it became apparent that the DOS environment had come to the end of its useful life. The last version of MS-DOS, 6.22, was released in 1994.
VB version 2.0 for Windows (November 1992) was faster, more powerful and easier to use than version 1. VB 2 was also available in a freeware student release called the Primer edition. Visual Basic 3.0 (1993) added tools to access and control databases and Object Linking and Embedding (OLE) version 2. It came in Standard and Professional versions.
A superset of VB, called Visual Basic for Applications, was released as part of Microsoft Excel 5 and Microsoft Project 4 in 1993. It has since become the internal programming language of the Microsoft Office family of products, and is available for license by other software companies.
Visual Basic 4 was released in 1995 and supported the new Windows 95 family of 32-bit operating systems. The Professional Edition could also compile code to run on the older 16-bit Windows 3.x systems. Visual Basic Scripting Edition (VBScript) was also announced in 1995. VBScript is used to write embedded code for inclusion in web pages, although not all web browsers will run VBScript.
With the introduction of Visual Basic version 5 in early 1997, 16-bit systems were no longer supported. Between versions 4 and 5, significant changes were made in the user interface. Visual Basic 5 added, among other things, the ability to create true executables and to create your own custom controls. It also supported Microsoft's Active-X technology.
Visual Basic 5 was available in Standard (Learning), Professional and Enterprise Editions. A free edition, called Control Creation Edition, could be downloaded from www.microsoft.com, and was included with many textbooks. Visual Basic 5 was also included as part of a package known as Visual Studio 97.
Visual Basic 6 (VB6) was introduced in 1998 and was included as part of a package known as Visual Studio 6.0. VB6 added new capabilities in the areas of data access, Internet features, controls, component creation, language features and wizards. To quote Microsoft's web site, «Visual Basic 6.0 features provide graphical, integrated data access to any ODBC or OLE DB data source, and additional database-design tools for Oracle and Microsoft SQL Server™-based databases. New Web development features bring the easy-to-use, component-based programming model of Visual Basic to the creation of HTML- and Dynamic HTML (DHTML)-based applications.» Many organizations are still using this version today.
The newest version of Visual Basic, sometimes referred to as VB7 or Visual Basic .NET, was released in February 2002. This product will be part of Microsoft's .NET software initiative, designed to produce XML-based applications for the Microsoft Internet environment. A Microsoft Web article says, «At first glance, it may appear to you that Visual Basic .NET is so radically different from what you know that you will have to learn it all over again.» For more information on Visual Basic .NET, see the article Upgrading from Visual Basic 6.0 on the Microsoft Web site.