INTERCAL by Don Woods, James Lyon; current implementation by Eric S. Raymond
INTERCAL is a programming language that, through parody, criticizes other programming languages. It reminds us that programming languages, like the software developed with them, are not neutral nor transparent.
[ go to project page ]
INTERCAL

Featured by Amy Alexander.

INTERCAL is a programming language that, through parody, criticizes other programming languages. It reminds us that programming languages, like the software developed with them, are not neutral nor transparent.

INTERCAL is designed to be as messy and obscure as possible, using an almost incomprehensible system of variables and operators. But its commands might be its most interesting aspect. Among INTERCAL's infamous features is the "COME FROM" statement - implemented in response to hoopla in the programming community that using "GOTO" encourages poor programming practices. Other INTERCAL commands include "PLEASE DO IGNORE" and "ABSTAIN FROM." These can also be combined to create commands like: "PLEASE ABSTAIN FROM IGNORING + FORGETTING" or "DO ABSTAIN FROM ABSTAINING". The judicious use of "PLEASE" is also important in INTERCAL: the compiler will reject insufficiently polite programs with the error, "PROGRAMMER IS INSUFFICIENTLY POLITE." However, programs that the compiler feels waste too much time groveling will also be refused. Through these un-programming-like commands and rules and their corresponding unorthodox structures, INTERCAL raises questions about the necessity of the rigid structures and imperative context of standard programming languages. Is the alienating way we program the only way?

From the project homepage:
----
"So, you think you've seen it all, eh?

OK. You've coded in C. You've hacked in LISP. Fortran and BASIC hold no terrors for you. You write Emacs modes for fun. You eat assemblers for breakfast. You're fluent in half a dozen languages nobody but a handful of übergeeks have ever heard of. You grok TECO. Possibly you even know COBOL.

Maybe you're ready for the ultimate challenge...INTERCAL.

INTERCAL. The language designed to be Turing-complete but as fundamentally unlike any existing language as possible. Expressions that look like line noise. Control constructs that will make you gasp, make you laugh, and possibly make you hurl. Data structures? We don't need no steenking data structures!

INTERCAL. Designed very early one May morning in 1972 by two hackers who are still trying to live it down. Initially implemented on an IBM 360 running batch SPITBOL. Described by a manual that circulated for years after the short life of the first implementation, reducing strong men to tears (of laughter). Revived in 1990 by the C-INTERCAL compiler, and now the center of an international community of technomasochists.

INTERCAL. Now you, too, can be a part of the madness."
-----

The manual is an important part of the INTERCAL project. It gives complete documentation of the ins and outs of INTERCAL's syntax, but also provides insights into its philosophy. It's well worth a look even if you have no intention of programming in INTERCAL.
Alexander Garrett's paper Abstraction and Modularity in INTERCAL provides additional perspective.
And Charlie Stross's excellent INTERCAL analysis (from which the above ABSTAIN examples were gleaned) is called Intercal - the language from hell. In it, Stross reminds us that:

"It is a matter of record that no computer language has ever succeeded in gaining widespread acceptance on the basis of elegance, comprehensibility or necessity. Look at FORTRAN, Cobol or C; all of them spread despite the fact that better alternatives were available. In fact, there are reasons to believe that INTERCAL is the language of the future."

by admin, posted 15 Jul 2005


newcomers, sign up here.

login

email

password

forgot your password?
latest projects
naked on pluto
torrent.py
100.000.000 stolen pixels
Excerpts From the Chronicles of Pookie & JR
Satromizer.pl
CodeSounding
Velato
Destroy the Web
[more]

featured projects
LYCAY (Let Your Code plAY)
Reject Me
Go-Logo
Outsource me!
The Invisible Hand Machine
aPpRoPiRaTe!
Towards a Permanently Temporary Software Art Factory
[more]