Thinking Outside the Box

Well, the return of paid employment (and to lesser extent, martial arts class twice a week) has kept me from posting for a while. Saturday the 11th was also a martial arts seminar, so that weekend was pretty much a wash.

Then last week I got swallowed up by web pages about esoteric programming languages, which provide a lot of food for thought to someone used thinking in terms of C. Some highlights (or lowlights…)

Befunge and it’s descendants do away with linear instructions counters, and can process freely in two (or more) dimensions.

Wierd takes the graphical concept even further, and uses angles as instructions.

RUBE (as in Goldberg) is more reminiscent of The Incredible machine than of a programming language, while REDGREEN is a true cellular automata, but I’m not sure how to compute anything with it. REDGREEN is written in ALPACA, a grammar for cellular automata.

noit o’ mnain worb simulates particles. Once again hard to compute anything, but there is an interesting simulation of a transistor.

BrainF*ck is turing complete with only eight instructions, but it takes a lot of them. OISC and URISC take this further and have only one instruction.

Java2K is non-deterministic (all functions have 10% chance of returning a random number), and uses numbers, base 11 with ‘space’ as the extra character as function names – but only if they are multiples of 7. The random behavior could make an interesting exercise in improving the reliability of the answer.

Malbolge was designed to be impossible to program in, and succeeded admirably.

And finally, HQ9+ set out to make the most common example programs (hello world, 99 bottles of beer, and self replication) as easy as possible – by making each one of the a primitive instruction (and the only instructions, outside of ‘+’, which increments the accumulator (no, you can’t do anything else with the accumulator ;^) ))

Posted Saturday, January 18th, 2003 under Review.


Comments are closed.