Yes, Virginia, Visual Basic is a Real Language
March 4, 2006 -
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.