(Written: 24 July 1995. Webbed: 25 October 1995.)

"Desperate times call for desperate languages."

I just saw a sentence that ended with "C!!!", which I thought would be a great name for a new programming language (pronounced "see bang bang bang!"). It's not as concise as ! (a programming language one of my friends came up with a few years back), but it might be more flexible. Above all, it's a LOUD language -- all keywords and variable names must be capitalized at all times, and bangs, splats, crashes, and other sound effects should be used liberally. There are no permanent data structures in C!!!; all data is considered mortal. The language includes operators like

(the "kaboom" operator, which obliterates whatever data is fed to it -- not to be confused with "-*-", the "kapow" operator, which deallocates memory but does not render it useless for future storage), and {} (the "mangle" and "chomp" operators, used to crush data into more compact forms). Other things you can do to data include slashing (/), mashing (#), and quartering (+). Pointers are known as "arrows" (-->) and are used primarily to puncture data structures and let their contents dribble out (known as "bleeding"). Rather than using old-fashioned iteration and recursion, C!!! programmers take a "hack-and-slash" approach to solving problems -- though other programming structures (such as "divide and conquer" and "scorched earth") are also available.

I think C!!! is destined to be the language of the future. Anyone who wants to get in on the ground floor now should start suggesting key language features, preferably named after their discoverers.

Jed Hartman <logos@kith.org>