Basic is the most successful programming language
ever invented. Before its appearance, the programming world was much like the
nerdy sector that still exists today. People able to program computers were
generally freaks of nature that the rest of us had to be grateful to on account
of their ability to do a job that we could never even dream of doing. Such unusual
people were able to deal with enormous complexity, working at a level of detail
that took them right to the heart of their particular operating system. Computer
programs often resembled mathematical formulas rather than plain English, if
indeed they did not work with pure binary, octal or hexadecimal numbers. The
very least quality a nerd required was a memory like a sponge.
Then somebody had the idea of a "high level" programming language. The idea
was that a common language could be used in various systems, but that the computer
itself could translate the programmer's "source" code into the "object" program
required for a particular system. The special translator program required for
this (one for each system needing an object program) was known as a "compiler".
This was indeed a great step forward, and high level languages such as COBOL
("Common Business Oriented Language") became very popular. Naturally, such languages
tended more towards plain English than hitherto, since the English language
was, and always will be, the natural language of communication, at least for
natives.
However, even at the time Basic was invented, it was still considered that only
"special" kinds of people would ever actually be capable of programming computers.
Basic was introduced as a didactic language for beginners, not really for serious
use in the necessarily complex world of computers. However, it caught on so
well, amongst professional programmers as well as amongst beginners, that it
has been used ever since for general-purpose programming, and shows absolutely
no signs of diminution in popularity. However, what we have today is not "Basic"
but "Basics". Instead of a single universal language, many computer manufacturers
and software producers have lowered its level with a view to their own particular
purposes, no doubt for reasons of exclusivity and ultimately of financial gain.
One of the most successful offshoots of Basic was "Visual" Basic (VB) for Windows
produced by Microsoft. Not only did it enable the Basic programmer to very easily
introduce graphical elements into his/her programs, it also introduced the notion
of "event driven" coding. Roughly speaking, instead of regarding a program as
a "shopping list" of instructions to be executed one after the other from beginning
to end, a program now became a loop or circle. This execution loop of inactivity
could only be broken by some operator event such as clicking the mouse or typing
a letter at the keyboard, but once this happened, the coding attached to the
mouse event or the hitting of the key would be brought into play. Throughout
its development, VB gained more and more followers amongst Windows users, until
finally VB6 was introduced at a time when the Internet had really begun to gather
momentum.
VB6 represented the promise of exciting things for the future. Some estimates
for the number of users were around 18 million. In spite of its promise, though,
VB6 was limited in certain respects from the very beginning. Although you could
introduce an embedded Internet browser into your programs, there was precious
little else you could do directly within VB6 regarding the Internet, e.g. simple
FTP transfers. Many fundamental things, such as simply getting a window to put
itself on top of the other windows, although they could be achieved in VB6 by
let's say "special arrangements", were not integral parts of the language. Although
altering the pixels quickly in graphical images could be achieved by very clever
workarounds, the facilities built directly into VB6 for doing this were hopelessly
slow. And of course, the greatest limitation of all, the fact that VB could
not be used for any operating system other than Windows, went without saying.
But nobody seemed to mind too much because of the promise of things to come
after VB6.
Then the world came to an end (at least for the users). Microsoft decided to
introduce what they called "VB.NET" which had very little to do with the previous
Visual Basic or even the Basic language itself. To make matters worse, although
on a theoretical level previously-written programs could be translated into
.NET format, Microsoft made absolutely sure that it was difficult if not impossible
to achieve. In practical terms, no program you had ever written could successfully
be introduced into .NET for maintenance or further development. The "nerds"
had taken over at Microsoft, and even though they were probably young folk,
they seemed to be intent on destroying the most valuable elements of the spirit
of Basic, returning us all (the users) to the dawn of computer history. The
.NET syntax looks nothing like plain English at all, and it is so full of formal
declarations that just to show "Hello World" on the screen you need a whole
page of coding!
Most users hoped that Microsoft would re-consider their lunacy, but in 2005
it became crystal clear that they had absolutely no intention of doing so. By
this time, many VB6 users had begun to migrate, probably with sentiments not
too different to my own. Will any of us ever again risk putting our eggs all
into one basket? Can Microsoft ever again be trusted in any respect whatsoever?
If you adopted Visual Basic, then the chances are that you are an ordinary kind
of person and programmer. But you understand the spirit and importance of Basic
and Basic-like languages, and you have a vacuum to fill. Furthermore, you do
not want to commit yourself any longer to a single programming system or platform,
and you want to escape the morbid situation of dependence you have been the
victim of. In short, you are in need of a change (but not a traumatic one),
and a breath of fresh air. Although many Basic-like systems of programming exist
historically, few of them can match the demands of modern computing. Just like
Linux distros, many individuals have made valiant attempts at continuing the
Basic tradition, but in general they are unreliable, if for no other reason
than the fact that a single individual can never have the time or gas to properly
invent and maintain a whole programming system. As of the date of writing, anyone
seeking an alternative to VB has about 3 really viable choices nowadays: RealBasic,
Rebol, and Runtime Revolution ("RR", "RunRev" or "Rev").
RealBasic might seem to represent a target of least resistance for ex-VB6 programmers,
and Rebol is an interesting alternative for those who do not mind a slightly
steeper learning curve, but for anyone needing a refreshing change without too
many traumas, I would recommend Runtime Revolution ("RR", "RunRev" or "Rev").
It is a modern event-driven cross-platform programming tool, and for anyone
who has the Basic spirit at heart, I think that I could say that its "Transcript"
language is "more Basic than Basic". I say this because not only does its syntax
resemble plain English as strongly as Basic itself, it takes this notion even
further by making use of common English words above and beyond those of Basic.
For example, the "it" variable is of fundamental importance in Transcript, just
as in the natural language:
get the clipboardData["Image"]
put it into image "MyPicture"
No "dot-syntax" here! Just plain English. For example, instead of the following
in VB:-
Form1.Picture1.Left = 33
- we have:
set the left of image "Picture1" to 33
It might be slightly more long-winded, but could anyone in the English-speaking
universe fail to grasp its meaning immediately?
The best way of appreciating the many facets of RR and the Transcript language
is, of course, to try it, which I suggest you do. Although I am in no way connected
to the company other than as a client, which means that I have no axe to grind,
I think I can enthusiatically recommend it as the modern successor to Basic,
and that hopefully it has a future which is not only bright but long-lasting.
In the not-too-distant future, other articles at this site will be devoted to
exploring various interesting aspects of the Transcript language and the Runtime
Revolution IDE, together with practical examples, open-source "stacks" (program
scripts), and eventually free cross-platform software, with special attention
to Linux.
"Transcript - More Basic than Basic"