Computer Language Profile: Visual Basic
Table of Contents______________________________________________________ 2
Abstract_____________________________________________________________ 3
Introduction__________________________________________________________ 5
Language Origin And History____________________________________________ 6
Language Characteristics_______________________________________________ 8
Language Analysis_____________________________________________________ 9
The Advantages of Using Visual Basic______________________________________ 9
The Disadvantages Of Using Visual
Basic__________________________________ 10
Examples Of Applications That Are
Written In Visual Basic_____________________ 11
Other Interesting Or Relevant Facts_____________________________________ 11
Personal Examples of VB Program User
Interfaces___________________________ 12
Using VB to Teach VB____________________________________________ 12
VB Time Tracker to the Rescue_____________________________________ 14
Conclusion__________________________________________________________ 16
Resources___________________________________________________________ 17
This paper, which is written as a memo, is a computer language profile of the Visual Basic programming language. This paper is part of the individual requirements of CMGT 576 – Programming Management at the University of Phoenix, in the MS in Computer Information Systems program. This Visual Basic paper covers: the language origin and history, the language characteristics, a language analysis, and some interesting facts about Visual Basic.
Date: January 27, 2004
To: Mr. Randall K. Black, Chief Technology Officer
From: William F. Slater, III, IT Consultant
Subject: Computer language Profile: Visual Basic
Per your request, to assist in your language selection decision, I have conducted additional research and created this Computer Language Profile of the Visual Basic programming language. The results of this profile for your review are shown below.
Next week, I will complete this series of profiles by constructing the final profile on XML. This is a reminder that the same format will be used in each of these comparisons to allow for a side-by-side comparison. After reviewing this document, as well as the other profiles, please advise if you have questions, comments, and/or suggestions.
Regards,
William F. Slater, III
IT Consultant
In the early 1990s, as Microsoft sold Windows 3.1 for under $30, it began to fly off the shelf. Why? Because the PC finally had a graphical user interface (GUI) operating system that the masses would begin to embrace. This phenomenon heralded both a new era and a major paradigm shift in the world of personal, user-friendly computing. Yet literally tens of thousands of PC applications were still locked in the world of MS DOS. To help meet market demand, developers were forced in a very short span of time to learn to code Windows applications. Essentially, there were three basic ways to do accomplish this: C/C++, C/C++ with the Win16 API library, and Visual Basic (VB). Of these three types of application development, Visual Basic was by far the easiest to learn, and the quickest to use for simple application development. Thus, VB, because of the rapidly growing popularity of MS Windows and the relative ease of learning and development became in a very short period of time the most popular programming development platform the world had ever seen. Even though VB has been surpassed by other programming languages, like C++, C#, and Java, it remains one of the most useful and popular programming platforms in the world of application development.
VB was derived
from a visual style programming environment named Tripod, which was created by
Alan Cooper in the late 1980s.
The table below
shows the history of VB.
Version |
Year |
Operating
Environment(s) |
1.0 |
1991 |
MS DOS
6.22 |
2.0 |
1992 |
Windows
3.0 |
3.0 |
1993 |
Windows
3.1 |
4.0 |
1995 |
Windows
95 and NT |
5.0 |
1996 |
Windows
9x and NT |
6.0 |
1998 |
Windows
9x, NT, 2000 |
VB.NET |
2002 |
Windows
2000, XP |
Table 1 – History of VB
The first
commercial version of VB 1.0 was developed under contract to Microsoft in 1990
and it ran under MS DOS. (Wikipedia, 2004). Soon came VB 2.0 for Windows, and
then in 1993, VB 3.0 was released. As
previously stated, the popularity of Windows on PCs, as well as the desire to
have Windows applications helped fuel the popularity of VB. VB 3.0 provided not only a way to rapidly
prototype and develop Windows applications, it also was targeted by a huge
market for third-party developer add-in tools, signaling that this was indeed a
viable development platform. VB 3 was
also the first version of VB to use the Microsoft ODBC database API to permit
networked client/server connectivity with server databases. Again, this was being in the right place at
the right time for VB, because client/server computing was also rapidly
becoming the new standard of enterprise application computing.
Coinciding with
the release of Windows 95, VB 4 was released in 1995, allowing the creation of
both Win16 applications as well as Win32 applications. In 1996, VB 5 which produced only Win32
applications, was released in three editions (Personal, Professional, and
Enterprise), each with even better capabilities to rapidly prototype and build
better performing GUI applications. In
1998, VB 6 was released, with even greater performance enhancements.
Now with its
.NET development paradigm, Microsoft has released a new version of VB, now
simply called, VB.NET. It is
architected to take advantage of the new network and distributed computing
features that Microsoft features in the .NET environment.
VB is an event-driven, hybrid development environment consisting of an integrated development environment (IDE) and a language based loosely on the original BASIC programming language. The IDE consists of a menu, a Forms window, a Toolbox, a Properties window (that changes context based on the windows object that is selected), a Form positioning window, a Code window, and an advanced Debugger window.
VB permits the compiling and creating of Win32 API executables that execute in any Windows 9x, Windows 2000, and/or Windows XP environments.
Except for special emulation software such as SoftPC on the Mac, or in instances where VB programs are written as CGI (Common Gateway Interface) web applications, applications written in VB are confined to the world of MS Windows operating (server, desktop and laptop) environments. Some consider this one of VB’s biggest limitations.
Nevertheless, VB has contributed greatly to the world of Windows application prototyping and development.
Category |
Comments |
Any PC running a MS Windows
OS and a VB500.DLL can run VB applications |
This a huge number of PCs –
probably over 75% of all the PCs on the planet. |
It's easy to learn |
If a programmer can learn event-driven application
development, then VB is one of the easiest places to learn this. (Wang, 2004) |
Great for simple applications |
A skilled developer can often
create simple applications within a matter of two to three hours. |
Great for
prototyping |
VB excels at allowing GUI designers to“paint”
application interfaces, in order to create and prototype user interfaces,
often while a user watches in amazement. |
Powerful
debugger |
The VB Debugger is powerful and elegant and helps a
programmer rapidly detect logic errors by visually single-stepping through a
program and seeing what variables are being changed. This leads to better quality applications. |
Easy to
find specialized add-in products and VB controls that help shorten
implementation |
Many third-party companies have developed custom VB
packages that can be purchased to add in to a system that is under
development, thus shortening the development cycle. |
A huge
talent pool to draw from. |
So many programmers know VB that it is possible to
easily find experienced, talented VB programmers. |
Table 2 – Advantages of VB
Category |
Comments |
Slower and less efficient |
VB programs are usually slower
than their C/C++ counterparts due to the overhead of the VB environment.
(Wang, 2004) VB also performs poorly
at mathematical tasks, doing about 20,000 calculations per minute for things
like converting IP addresses to Base 10 equivalents. |
Not being portable |
Only runs on MS Windows platforms (Wikipedia, 2004) |
Inflexible |
Limits the programmer from
accessing low level hardware details (Wang, 2004). |
Not being
fully object oriented |
VB 6 does have Class
implementations but many OO developers feel that it is a kluged environment
to work in (Wikipedia, 2004). |
Additional
skills required for GUI |
Becoming proficient at GUI development requires
additional skill sets in designing, developing and maintaining GUIs. The importance of developing good GUI
design skills cannot be overstated for VB developers. |
Table 3 – Disadvantages of Visual Basic
The following applications are good examples of
applications that have been constructed using VB.
Customized Client/server applications for managing customer data
Customized Windows-based applications
Customized digital communications programs
Customized interface programs with devices that interoperate via RS-232 ports
Customized programs that do calculations and/or data conversions
Unlike C++’s Bjarne Stroustrup, and Java’s James Gosling, Alan Cooper is no longer directly involved with VB. He has written a great book on usability called, The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity. Today, he runs his own consulting company called Cooper, and writes books and articles. Occasionally, he also speaks at computer developer conferences. Mr. Cooper’s website is at http://www.cooper.com.
To visually demonstrate what VB can do, I have included two interfaces from programs that I personally developed. The first in Exhibit 1 shows a checklist that I used to help my students who were learning VB as a first computer programming language at the Illinois Institute of Technology. I placed my picture in there to show that I was there to coach them through the process. Note the phrase that appears when the “Advice” button is pressed: “It is a wretched man who quarrels with his tools.” This time honored saying has helped me communicate the importance of learning development tools well to my students.
Exhibit 1 – The Checklist.exe VB Program
The Time Tracker program shown in Exhibit 2 is a very simple VB program that I designed and wrote while on vacation in July 2002. And it saved my job, literally. This program creates task descriptive time hacks in ASCII text that can be imported into Excel and do subtractions to show the length of time that each task takes. This is great for a guy like me, whose job requires that I multi-task all day long. The reports that I produced by showing the time each task took, and aggregating it was a real eye-opener for my bosses, who, after some management reorganizations, confessed that they did not understand or appreciate my job. This Time Tracker application, as simplistic as it seems, helped me communicate some simple facts about a very complex, and high stress position that I fill, and it made management back off of the scrutiny I had been under due to their not understanding my job.
On a humorous note, one coworker who had been watching how negative that management was behaving, admired my work and wryly commented that I should add a button to my Time Tracker user interface that I would click on to make bathroom visits. As you would expect, I said, “Yes, that feature is coming… in the version 2 of the program.”
Exhibit 2 – The Time Tracker VB Program
VB is the type of language and development environment that allows such rapid production of working GUIs, whether an application or a prototype, I feel strongly that a copy should be in every software development shop. It is not a perfect development platform and it does have its faults, but when a customized application need arises in the Windows environment, having a tool like VB can solve a myriad of challenges, in the hands of a smart experienced developer.
Finally, even if VB is not used for developing enterprise strength applications, its ability to rapidly prototype realistic interfaces, as well as its ability to provide a powerful GUI development experience to new developers, make it an indispensable tool that cannot be ignored for those who work in Windows shops.
Cooper, A. (1999). The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity. SAMS: Indianapolis, IN.
Halvorson, M. (1998). Visual Basic 6 Professional Step by Step. Microsoft Press: Redmond, WA.
Holzner, S. (1999). Visual Basic 6 Core Language Little Black Book. Coriolis Group: Scottsdale, AZ.
Jung, D. G. and Kent, J. (2000). Debugging Visual Basic. Osborne McGraw-Hill: Berkley, CA.
Mansfield, R. (2000). Visual Basic 6 Weekend Crash Course. M & T Books: Foster City, CA.
Pratt, T. W. and Zelkowitz, M. V. (2001). Programming Languages: Design and Implementation. Prentice Hall: Upper Saddle River, NJ.
Sebesta, J. (2004). Concepts of Programming Languages, Sixth Edition. University of Colorado at Colorado Springs / Addison-Wesley: Boston, MA.
Wang, W. (2004) Beginning Programming For Dummies , 2nd Edition. Wiley: New York.
Wikipedia. (2004). Visual Basic. [Electronic version]. Retrieved from the web on January 27, 2004 at http://en.wikipedia.org/wiki/Visual_Basic.