Yes, Virginia, Visual Basic is a Real Language
Once upon a time, there was a simple, interpreted language used for teaching new programmers called BASIC - the Beginner's All Purpose Symbolic
Instruction Code. Compared to modern standards, this was a very simplistic
language, with no compiler, no run times, no linking, and no GUI. The
language became widely distributed and very popular with new programmers
because of its simplicity of use. It was not, however, a professional
development tool. Because of its nature, those who used the BASIC language
to create programs were not considered "real" programmers by those who
worked professionally in other languages, such as C, C++, Pascal, FORTRAN,
etc.
How Pinnochio Became a Real Boy
BASIC began its life in 1963 at Dartmouth College. It was the invention of
John George Kemeny and Tom Kurtzas as a mathematical teaching tool for
students. In 1975, Bill Gates and Paul Allen developed a version for thier
first personal computer, the Altair, and BASIC became one of Microsoft's
first products. It was commonly distributed on what was at the time a new
product - the PC. There were a variety of versions in the early 1980s from
one that ran on the Apple IIe to Microsoft's version, and others commonly
referred to as GW-BASIC and BASICA. As the popularity of PCs grew, so did
the popularity of the BASIC language.
Microsoft and others chose to capitalize on this trend by creating more
professional, compiler-oriented versions of the language. Products such as
QuickBasic, PowerBasic, ZBasic, and others became increasinly used in
professional environments for creating applications. Still, the language
remained relatively simple and primitive when compared to the primary
language of chose in the 1980s and 1990s - C++. Thus, professional
developers still snubbed thier noses at those would-be programmers using any variation of BASIC.
The limitations of the Basic language began to be stripped away during the
1990S when Microsoft introduced thier Visual Basic and Visual Studio
products. With each new version of the Visual Basic language - from 2.0
through 6.0, the capabilities of the Visual Basic language increased and the language moved farther and farther away from its origins. In the final
rendition of the Visual Basic 6.0 language, very little remained that could
remind the user of the early days of BASIC programming. Items such as line
numbers (10, 20, 30, etc), GOTO and GOSUB statements were some of the first
items to disappear - and in thier places came the true elements of
structured programming. Object-based elements were added and capabilities
such as interacting with the API and accessing databases were added.
Soon, Visual Basic - despite its name - was being used widely throughout the development community for creating applications in a process that is
referred to as Rapid Application Development (RAD). Powerful, fast, and
useful business applications could be created in Visual Basic in a
relatively short amount of time. It can be estimated that development of the
same application in the Visual C++ language would normally require 2 - 6
times as much development time as Visual Basic. Visual Basic was the perfect
language for creating user-interface based applications. In many cases, VB
applications were combined with Visual C++ (VC) libraries to provide
complete and efficient functionality.
One of VB's greatest features was providing a powerful and useful language
with nearly the same ease of use and low learning curve that was the
trademark of the original BASIC language. This amazing accomplishment did
not come without a price, however. Because of its RAD-orientation and ease
of use, it did not take long for many people to became Visual Basic
programmers. However, like any other language, it did take a great deal of
time and experience for new programmers to become good VB developers. As a
result, there was more noise than signal in the VB application world. While
a great many good applications were designed and built using VB, there were
very many more poorly-written applications available. This contributed to
the misconception that VB was not a "real" language - and the so-called
"real" programmers still looked down on the language and its devotees.
The final evolution of the language came when Microsoft introduced its .NET
platform and the new Visual Basic .NET and C# languages. The old ties to the BASIC language were finally stripped away, and like C#, Visual Basic became
a fully- object-oriented language. Today's Visual Basic's capabilities and
performance are now identical to its companion, C#. Ironically, noth are
just as powerful and capable, if not more so, than the chosen language of
many VB detractors, Java.
Equal Pay For Equal Work
Despite the improvements in the Visual Basic language, there is a disparity
still in the marketplace concerning VB developers. Despite the fact that VB
and C# are identical in thier capabilities, on the average, VB developers
are generally paid less than thier C# counterparts and are considered less
capable and experienced. The "BASIC" stigma still remains. The common
misconception is still in place - many IT managers, developers, computer
scientists, and others still assume that C# is a vastly better language than Visual Basic simply because of the "C" in C#'s name. The reality is that other than syntax differences, the languages are the same. They both rely on the same class framework, they both provide identical capabilities, and they both compile to the same intermediate language (MSIL). The only difference is the syntax - and in this case, it is C# which uses an outdated C-like syntax which serves to detract from the language. It can be said that is may be slightly faster to develop the same application in Visula Basic .NET over C# because of the lack of syntactical issues in the Visual Basic implementation.
In the end, what we have in Visual Basic is a modern, powerful language that can compete with any other product available, and no longer resembles in even the slightest fashion the old GW-BASIC approach. On the down side, we have lost a usefull teaching tool, as C#, Java, VB and others generally
cannot be used to serve the purpose for which BASIC was originally invented
- as a tool for teaching basic programming principles for students. The
beauty of the .NET system is - however - that it can be used, in real-time,
to compile itself - thus making it possible to write new .NET languages in
.NET itself. Certainly in time, this will lead to the emergence of a new
teaching language - most likely written in Visual Basic .NET.
Sam Jones
Senior Architect
Way Systems, Inc.
sjones@waysystems.com
About the Author
Based in Alpharetta, GA, I have been a Microsoft Windows developer for nearly 14 years, and during the last ten I have been working professionally in the Atlanta area on a variety of projects which have included extensive use of Visual Basic, Visual C++, and the .NET Framework. In January of this year I launched the Adaptive Intelligence initiative to create specialized, intelligence software for a variety of purposes, including development support. I have a wife and four-year old daughter who occasionally attempts to contribute to my development. :)