Jokes at TopicViewer.com TopicViewer Portal
Jokes Home
TopicViewer Home : Jokes Home : Computers : BABBAGE --- the language of the future

BABBAGE --- the language of the future


There are few things in this business that are more fun than designing a new computer language, and the very
latest is ADA - the Department of Defense's new supertoy. ADA, as you know, has been designed to replace outmoded
and obsolete languages such as COBOL and FORTRAN.

The problem is that this cycle takes 20 to 30 years and won't start until we're really convinced present languages
aren't any good. We can short-circuit this process by starting on ADA's replacement right now. Then, by the time
we decide ada is obsolete, its replacement will be ready.

The new generation of language designers has taken to naming its brain children after real people rather than
resorting to the usual acronyms. Pascal is named after the first person to build a calculating machine and ADA
is named after the first computer programmer. As our namesake, we chose Charles Babbage, who died in poverty while
trying to finish building the first computer. The new language is thus named after the first systems designer to
go over budget and behind schedule.

BABBAGE is based on language elements that were discovered after the design of ADA was completed. For instance,
C.A.R. Hoare, in his 1980 ACM Turing Award lecture, told of two ways of constructing a software design:

"One way is to make it so simple that there are obviously no deficiencies and the other way is to make
it so complicated that there are no obvious deficiencies."

The designers of BABBAGE have chosen a third alternative - a language that has only obvious deficiencies. BABBAGE
programs are so unreliable that maintenance can begin before system integration is completed. This guarantees a
steady increase in the debug job marketplace.

Like Pascal, ADA uses "strong typing" to avoid errors caused by mixing data types. The designers of
BABBAGE advocated "good typing" to avoid errors caused by misspelling the words in your program. Later
versions of BABBAGE will also allow "touch typing", which will fill a long-felt need.

A hotly contested issue among language designers is the method for passing parameters to subfunctions. Some
advocate "call by name", others prefer "call by value". BABBAGE uses a new method "call
by telephone". This is especially effective for long-distance parameter passing.

ADA stresses the concept of software portability. BABBAGE encourage hardware portability. After all, what good
is a computer if you can't take it with you?

It's a good sign if your language is sponsored by the government. COBOL had government backing, and ADA is being
funded by the department of defense. After much negotiation, The department of sanitation has agreed to sponsor
BABBAGE.

No subsets of ADA are allowed. BABBAGE is just the opposite. None of BABBAGE is defined except its extensibility
- each user must define his own version. To end the debate of large languages versus small, BABBAGE allows each
user to make the language any size he wants. BABBAGE is the ideal language for the "ME" generation. The
examples that follow will give some idea of what BABBAGE looks like.

Structured languages banned GOTOs and the multiway conditional branches by replacing them with the simpler
If-Then-Else structure. BABBAGE has a number of new conditional statements that act like termites in the structures
of your program:


  • What If - Used in simulation languages. Branches before evaluating test conditions.
  • Or Else - Conditional threat, as in: "Add these two numbers or else!"
  • Why Not? - Executes the code that follows in a devil-may-care fashion.
  • Who Else? - Used for polling during I/O operations.
  • Elsewhere - This is where your program really is when you think it's here.
  • Going Going Gone - For writing unstructured programs. Takes a random branch to another part of your program.
    Does the work of 10 GOTOs.


For years, programming languages have used "FOR", "DO UNTIL"," DO WHILE", etc.
to mean "LOOP". Continuing with this trend, BABBAGE offers the following loop statements:


  • Don't Do While Not - This loop is not executed if the test condition is not false (or if it's Friday afternoon).
  • Didn't Do - The loop executes once and hides all traces.
  • Can't Do - The loop is pooped.
  • Won't Do - The CPU halts because it doesn't like the code inside the loop. Execution can be resumed by typing
    "MAY I" at the console.
  • Might Do - Depends on how the cpu is feeling. executed if the cpu is "UP", not executed if the CPU
    is "DOWN" or if its feelings have been hurt.
  • Do Unto Others - Used to write the main loop for timesharing systems so that they will antagonize the users
    in a uniform manner.
  • Do-Wah - Used to write timing loop for computer-generated music (rag timing).


Every self-respecting structured language has a case statement to implement multiway branching. Algol offers
an indexed case statement and Pascal has a labeled case statement. Not much of a choice. BABBAGE offers a variety
of case statements:


  • The Just-In-Case statement - For handling afterthoughts and fudge factors. Allows you to multiply by zero to
    correct for accidentally dividing by zero.
  • The Brief Case statement - To encourage portable software.
  • The Open-And-Shut case statement - No proof of correctness is necessary with this one.
  • The In-Any case statement - This one always works.
  • The Hopeless case statement - This one never works.
  • The Basket case statement - A really hopeless case.


The BABBAGE Language Design Group is continuously evaluating new features that will keep its users from reaching
any level of effectiveness. For instance, BABBAGE's designers are now considering the almost equals sign, used
for comparing two floating point numbers. This new feature "Takes the worry out of being close".

No language, no matter how bad, can stand on its own. We need a really state-of-the-art operating system to
support BABBAGE. After trying several commercial systems, we decided to write a "virtual" operating system.
Everybody has a virtual memory operating system so we decided to try something a l**ittle different. our new operating
system is called the Virtual Time Operating System (VTOS). While virtual memory systems make the computer's memory
the virtual resource, VTOS does the same thing with CPU processing time.

The result is that the computer can run an unlimited number of jobs at the same time. Like the virtual memory
system, which actually keeps part of the memory on disk, VTOS has to play tricks to achieve its goals. Although
all of your jobs seem to be running right now, some of them are actually running next week.


As you can see, BABBAGE is still in its infancy. The babbage language design group seeking suggestions for this
powerful new language and as the sole member of this group (all applications for membership will be accepted),
I call on the data processing community for help in making this dream a reality.


 

 

TopicViewer Portal
Jokes Home
TopicViewer Portal | Articles | Jokes | Recipes | Shareware + Freeware