Sunday, December 21, 2014

A Gazetteer Of Programming Languages

This is for the geeks amongst us, although most people will probably appreciate this.
This was first published in 1982 in InfoWorld and is attributed to John Unger Zussman and later published in the November 2, 1984 edition of the University of Waterloo’s mathNEWS. I was given a photostat copy in the mid 80s and used it in a computer magazine I was editing at the time. It has since become quite widespread on the internet under the title “Lesser known computer languages”, probably because most computer guys cannot spell gazetteer. Read and enjoy…

‘Simple’ is an acronym for Sheer Idiot’s Programming Linguistic Environment. This language, developed at Hanover College for Technological Misfits, was designed to make it impossible to write code with errors in it. The statements are, therefore, confined to ‘begin’, ‘end’, and ’stop’. No matter how you arrange the statements, you can’t make a syntax error.
Programs written in Simple do nothing useful. They thus achieve the results of programs written in other languages without the tedious, frustrating process of testing and debugging.

Slobol is best known for the speed, or lack of it, of its compiler. Although many compilers allow you to take a coffee break while they compile, Slobol compilers allow you to travel to Bolivia to pick the coffee.
Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a Slobol program to compile.

From its modest beginnings in Southern California’s San Fernando Valley, Valgol is enjoying a dramatic surge in popularity across the industry. Valgol commands include ‘really’, ‘like’, ‘well’, and ‘y*know’. Variables are assigned with the ‘= like’ and ‘= totally’ operators. Other operators include the California Booleans, ‘fersure’ and ‘noway’. Repetitions of code are handled in ‘for/sure’ loops. Here is a sample Valgol program:
like y*know (I mean) start
if pizza = like bitchen and
b = like tubular and
c = like grodyax
for I = like 1 to oh maybe 100
do wah
- (ditty)
barf(1 ) = totally gross (out)
like bag this problem
like totally (y*know)
Valgol is characterized by its unfriendly error messages. For example, when the user makes a syntax error, the interpreter displays the message: gag me with a spoon

This otherwise unremarkable language is distinguished by the absence of an ’s’ in the character set. Programmers must substitute ‘th’. Lithp is said to be useful in proceththing lithtth.

Historically, Valgol is a derivative of Laidback, which was developed at the (now defunct) Marin County Center for T’ai Chi, Mellowness, and Computer Programming, as an alternative to the intense atmosphere in nearby Silicon Valley. The center was ideal for programmers who liked to soak in hot tubs while they worked. Unfortunately, few programmers could survive there for long, since the center outlawed pizza and RC Cola in favor of bean curd and Perrier. Many mourn the demise of Laidback because of its reputation as a gentle and non-threatening language. For example, Laidback responded to syntax errors with the message:
Sorry, man, I can’t deal behind that.

This language was named for the grade received by its creator when he submitted it as a project in a university graduate programming class. C- is best described as a ‘low-level’ programming language. In general, the language requires more C- statements than machine code instructions to execute a given task. In this respect it is very similar to COBOL.

Named after the late existential philosopher, Sartre is an extremely unstructured language. Statements in Sartre have no purpose; they just are. Thus, Sartre programs are left to define their own functions. Sartre programmers tend to be boring and depressed and are no fun at parties.

Developed at the Massachusetts Institute of Obedience Training, Dogo heralds a new era of computer-literate pets. Dogo commands include ’sit’, ’stay’, ‘heel’, and ‘roll over’. An innovative feature of Dogo is ‘puppy graphics’, a small cocker spaniel that occasionally leaves deposits as he travels across the screen.

Lingua Programmatica
As a programmer who has frequently been frustrated by the lack of flexibility of conventional high-level programming languages, I am pleased to report the recent completion of a new language that promises to leave Pascal and the others stumbling in its tailwind. The new language is called LATIN (not to be confused with the natural language, Latin, with which it is, however, identical).
LATIN offers such conveniences as Roman numeral mode (for those who are tired of trying to deal with clumsy Arabic numbers), output to marble, and a sophisticated user interface that features not just icons but also omens. The package includes complete error detection and punishment. Program execution is rapid; however, programmer execution is painfully slow. The carefully written documentation is hand-copied on papyrus scrolls by Egyptian slaves, and scans nicely. The language is provided on a sturdy double-sided discus, designed for years of troublefree use.
Availability of LATIN is something of a problem at present, as the compiler is written not in assembler but in an intermediate-level language called GREEK (G-Code), which has yet to be implemented on any microcomputer.
And this one by Karl Hildon . . .

NORTH programs can only execute efficiently where snow falls at least 5 months of the year. This is because many NORTH programmers become sick and fed up with their environment and move on to SOUTH. Almost all NORTH programs are totally useless in the SOUTH environment.
NORTH programs are immediately recognizable by the “, eh ” suffix which seems to be necessary after every line. Although there are other slight differences, most NORTH programs can be translated to SOUTH by replacing the “, eh ” suffix with “, uh “.
Debugging NORTH programs is no probs. The “Gimme a break” command can be inserted to stop programs from taking off with goofs, and after an error, the “Check it out” command shows the offending botches.
The following is a demo program that comes with the NORTH interpreter:
10 hosers = 1, eh
20 buzz hoser, “what’s happenin’ man?”, eh
30 far out, eh: hosers = hosers + 1, eh
40 it hosers < beer/6 then 20, eh
50 if dough = 0 then cruise, eh: goto 50, eh
60 if donuts = 0 then cruise, eh
70 if beer < 24 then cruise, eh: beer = beer+24, eh
80 killer, eh
90 on stereo goto heavy metal, heavy metal, eh
100 while beer > 0, eh
110 beer = beer
- hosers, eh
120 endwhile, eh
130 if munchies then do food, eh
140 if burnt out then crash, eh: else 70, eh

Named after the famous French philosopher and mathematician Rene DesCartes, RENE is a language used for artificial intelligence. The language is being developed at the Chicago Center of Machine Politics and Programming under a grant from the Jane Byrne Victory Fund. A spokesman described the language as “Just as great as dis [sic] city of ours.”
The center is very pleased with progress to date. They say they have almost succeeded in getting a VAX to think. However, sources inside the organization say that each time the machine fails to think it ceases to exist. 

FIFTH is a precision mathematical language in which the data types refer to quantity. The data types range from CC, OUNCE, SHOT, and JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM and BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY, CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, and WHATEVERSAROUND.
The many versions of the FIFTH language reflect the sophistication and financial status of its users. Commands in the ELITE dialect include VSOP and LAFITE, while commands in the GUTTER dialect include HOOTCH and RIPPLE. The latter is a favorite of frustrated FORTH programmers who end up using this language.

Wednesday, December 10, 2014

Patents and Innovation

I have read that the rationale behind the modern copyright act was to encourage innovation. (As opposed to the old copyright act which was a form of censorship.) However, is this the way things have worked out?

I was watching a recent episode of GeekBeat on high end 3D printers when the host John P asked the guests why it was that there is now an explosion of cheapish 3D printers. The answer was quite surprising. It was that the patents on 3D printing have now run out. So for the last 25 years there has been an effective road block to innovation in 3D printing and that now that the patents have run out there is an explosion in innovation.

So - what is the take away message from this? The modern patent and copyright legislation does not encourage innovation. It leads to price gouging, massive law suits, stifling innovation and creativity and huge profits for large powerful organisations.

It is high time that there is a massive overhaul to the patent and copyright laws, but I fear that the rich and powerful will never allow that.