Computer Language Profile: Visual Basic

William F. Slater, III

CMGT 576 – Programming Management

University of Phoenix

Week 4 Written Assignment

Joseph Langdon, M.S. - Instructor

January 27, 2004

 

 

 

 

 

 

 

 

 

 

 

 

 


Table of Contents

 

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

 


 

Abstract

 

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.


Memorandum

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

 


 

Introduction

 

            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.

 

 


 

Language Origin And History

 

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.

 

 

 

 


 

Language Characteristics

 

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.

 

 

 

 

Language Analysis

 

The Advantages of Using Visual Basic

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


 

The Disadvantages Of Using Visual Basic

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


 

Examples Of Applications That Are Written In 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

 

Other Interesting Or Relevant Facts

 

            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.


 

Personal Examples of VB Program User Interfaces

 

Using VB to Teach VB

            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

 

 

 

 

 

 

 

 

VB Time Tracker to the Rescue

           

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

 


 

Conclusion

 

            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.

 

 

 


 

Resources

 

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.