How did VB originate, where did it originate from, what is it main purpose or function. Who basically saw it as a need for its future uses?
This is part of the first chapter of my new book, which will be out inDecember. It should answer any questions you have.
Before Microsoft Windows 3.0 was introduced in May 1990, applicationprogramming was a very boring proposition – all text with no concept of amouse or a window. Some enterprising programmers created toolkits tocreate window-like atmospheres using the IBM’s extended character set,which included graphical characters such as line segments and partiallyshaded characters.
However, after the introduction of Microsoft Windows, programmers had awhole new world to explore. Application programs like Microsoft Word andExcel gave programmers ideas for their own applications, including featureslike:
- Multiple windows within an application’s window
- Basic support for multiple applications running simultaneously
In order to get more programmers to start writing Windows applications, adevelopment tool was clearly needed. In the summer of 1991, Microsoftintroduced a development tool called Visual Basic. This tool’s languagewas based on the QuickBasic product, with additional features added tosupport the Windows environment.
Windows introduced the concept of a message. Every action you perform inWindows generates one or more messages. For instance, if you move themouse across the screen, a series of messages are generated for eachposition the mouse occupies while you are moving it. If you were to moveyour mouse over an application that is running, Windows sends thesemessages to that application. The application then has to determine if youare doing something within itself, or if you are just “passing through”.Every application has to look at every message sent by Windows and makethis determination. The code required to make this work is lengthy andcomplex, to say the least. Besides having to handle simple messages like mouse movements, a Windowsapplication also has to handle complex actions, such as when you move awindow from one place to another. Windows tells you what the user isdoing, but it doesn’t do any of the work for you. You have to tell yourwindows to repaint in a new position. Even after you have dealt with allthe Windows messages you might receive, you’re still not done. You stillhave to write the code to handle your application’s features.
Visual Basic revolutionized all this tedious code. Instead of having towrite lengthy code to make a window respond to a mouse, Visual Basichandled all of those actions and hid them from the programmer. To indicateto your program that the user clicked the mouse, Visual Basic provided anevent instead of a series of messages. You then write code to respond tothe event and not the message. This is an important distinction. Anevent, when translated into Windows messages, could consist of one or moremessages. Even a simple action like a mouse click actually consists ofmore than one Windows message.
With the introduction of the event, Visual Basic programmers couldconcentrate on writing the application’s features and not worry about thesimple things about why a button click worked. They could simply write thecode to run when a button was clicked. The code that runs when the userclicks a button is known as an event handler.
Besides hiding the complexities of Windows messaging, Visual Basic alsoprovided a design environment in which the programmer could draw anapplication’s windows instead of writing code to create them. Want abutton on your form? Pick it from the Visual Basic toolbox and draw it onyour window. Button not quite in the right place? Grab it with your mouseand drag it to the correct position. This ability to rapidly draw the interfaces of an application made VisualBasic into an excellent tool for creating prototypes. A prototype is apreliminary version of an application used for discussion among designers.For consultants, a prototype is an excellent way to show your client whatthe application might look like. With Visual Basic, you could even addsimple code to cause one window to flow into the next. Speaking frompersonal experience, it is much easier to let your client interact with areal live application instead of one on paper. Besides being able to seehow the windows work, the user might also suggest changes in functionalitybefore you even start writing your application.
Unfortunately, the version 1.0 of Visual Basic was slow and did not havethe performance required for most business applications, so it wasrelegated to hobbyists, low-priority applications, and the prototyping justdiscussed. However, Visual Basic continued to improve. In fact, BillGates, CEO of Microsoft Corporation, once commented that Visual Basic washis favorite language. A comment like that from the CEO of the largestsoftware company in the world would ensure that Visual Basic would continueto improve.
Version 2.0 of Visual Basic introduced the concept of the custom control,or VBX control. This allowed programmers to buy controls from thirdparties and use them in their own applications. These controls could becreated in any language supporting Windows. This introduction created anentire industry in itself: the custom control market. Now a programmercould get a low-cost, commercial control or even download one for free andadd functionality to an application without having to write the code to doit. In addition, components were inherently stable, since they had alreadybeen tested by the company that produced it. For corporate developers ontight time and money budgets, the savings in buying a control versus thecost to develop it is quite significant.
Many new companies were started for the sole purpose of creating thesecontrols, and now there are over 100 companies creating controls for VisualBasic programmers. Some of these controls add enhanced functionality tothose included with Visual Basic; others provide functionality missing fromVisual Basic.
By the time Visual Basic 3 was released in 1993, its following had greatlyincreased. However, many of the people who were buying Visual Basic wantedto create database applications for it. Visual Basic 3 introduced directaccess to many types of databases through both the Data Control and theData Access Objects. This greatly improved programmers’ access todatabases and thus made programs more useful. At this point, VisualBasic’s growth really took off. Estimates of the user base were well over1 million users and it continued to grow.
The main change in the user base was that corporate developers werestarting to use Visual Basic to create full applications and not justprototypes. With access to many databases through Microsoft’s OpenDatabase Connectivity (ODBC) product, databases such as Oracle, Sybase, andInformix could be accessed just as easily as Microsoft Access, Microsoft’sdatabase that was included with Microsoft Office.
The custom control market continued to grow, as well. Software companieswere creating more and more unique controls to mimic functionalityavailable in Windows 3.1, such as toolbars and tabbed dialogs.
Visual Basic 3 was a very stable product and was the mainstay developmenttool until Windows 95 was released in 1996, at which point Visual Basic 4was released. Visual Basic 3 was also the first version in which twodifferent versions of the product were available: the Standard Edition andthe Professional Edition. The Standard Edition was a lower cost versionthat included fewer custom controls, whereas the Professional Editionincluded all of the controls and several additional development tools.
When Visual Basic 4 was released in early 1996, its major purpose was toallow development for Windows 95, which was a 32-bit developmentenvironment. Up until Windows 95, software ran in a 16-bit environment.Essentially, the difference is that programs running in a 32-bitenvironment are able to take full advantage of the computer’s centralprocessing unit’s (CPU) 32-bit capabilities.
Visual Basic 4 also expanded the capabilities of the Data Access Objects,providing even greater access to databases. This version of Visual Basicalso introduced a new edition: the Enterprise Edition. With more and morecorporate developers using the product, Microsoft realized the need toinclude more enterprise-oriented tools. One of these tools was the RemoteData Objects feature. By using Remote Data Objects, a developer couldaccess ODBC databases just like they were local databases. In addition,Microsoft acquired a tool called SourceSafe, which was included with theEnterprise Edition. SourceSafe is version control software. Versioncontrol software allows a team of developers to coordinate theirdevelopment efforts by allowing files to be checked in and checked out,much like a public library does. Only one developer can edit a file atonce. If a mechanism like this was not in place, two developers might makedifferent changes to the same file. When the developers realize this, theywould have to somehow merge their changes together. Version controlsoftware prevents this situation from happening.
Visual Basic also included support for classes. A class is a term inobject-oriented programming that you will learn about in chapter 5.Basically, a class incorporates data and code to work with that data.Using classes allows programmers to make their projects more modular. Byhiding the code that deals with a particular type or piece of data, thatcode can be changed without affecting the rest of a program. Classes canalso be used to create OLE (Object Linking and Embedding) Automationservers, which can be called by other programs, whether they were createdwith Visual Basic or another tool. These servers can be used to performbusiness functions by multiple programs, thus providing additionalreusability. You will learn more about OLE servers in chapter 17.
Finally, since the VBX custom control was a 16-bit control, a new formathad to be introduced. The OCX format is a 32-bit control that wasunfortunately incompatible with the VBX format. This caused a great dealof headaches for programmers whose programs were written with VBXs. Thecontrols had to be replaced with OCXs in order to build a 32-bitapplication. This required the programmers to first find a replacement,and then most likely spend more money to acquire the control. However, thecomponent vendors all stepped up with 32-bit versions of their controls,and most had an easy upgrade path, requiring very few changes, if any, tomake the new component work with the old code. While Visual Basic 4 was considered by many to be an interim release, itdid not stop Visual Basic’s growth. Depending on who was counting, theuser base was between 2.5 and 4 million users. This user base alsoincluded programmers using Visual Basic for Applications, a reduced featureset version included in Microsoft Excel and Word. In addition, Microsoft’sInternet Explorer 3.0 browser introduced Visual Basic Scripting Edition, orVBScript as it is more commonly known. This language allowed webdevelopers to add scripting to their web pages using a language verysimilar to Visual Basic. Finally, Microsoft also worked out a deal withSummit Software to license Visual Basic for Applications to other softwarepackages to provide scripting capabilities for other Windows applications.
One of the major drawbacks to using Visual Basic is that the language isinterpreted and not compiled. Interpreted languages may be stored in anexecutable file (.EXE), but the programmer’s instructions are stored in aspecial format that are executed at runtime by a runtime engine. If youhave ever seen files called VBRUN300.DLL, VB40016.DLL, or VB40032.DLLsitting in your Windows SYSTEM directory, these are the runtime enginesrequired by Visual Basic versions 3.0, 4.0 (16-bit), and 4.0 (32-bit),respectively. Interpreted code is much slower than compiled code, whichincludes all of the functions required to execute the actual code. Infact, this lack of a compiled executable spawned several products: theadd-on Visual Basic compiler, and Borland’s Delphi product. Severalcompanies created add-on Visual Basic compilers, including a company calledPowerBasic. Borland’s Delphi product boasted a true compiler that couldcreate much faster executables. While they emphasized that advantage for along time, the advantage no longer exists.
Visual Basic 5’s major improvement and most anticipated feature is theinclusion of a native code compiler. This compiler’s options allow you to build a variety of different executable formatsbased on the target machine the program will be run on.
Besides being able to build much faster executables, Visual Basic 5 alsoincludes support for creating ActiveX controls and servers. ActiveX was aterm introduced in 1996 when Microsoft “discovered” the Internet. Theslogan “Activating the Internet” was also used, since ActiveX controlscould be embedded on web pages. When these controls were introduced, therewas a great deal of confusion as to the differences between ActiveX and OCXcontrols. At this point, all controls being produced are known as ActiveXcontrols and are all written to the same standard, called OCX96.