And you thought you knew all programming languages…


Have you ever heard about the esoteric Programming Languages. An esoteric programming language (sometimes shortened to esolang) is a computer programming language designed either as a test of the boundaries of programming language design, to experiment with weird ideas or simply as a joke, rather than for practical reasons. There is usually no intention of the language being adopted for real-world programming. Such languages are often popular among hackers and hobbyists.

Usability is rarely a high priority for such languages; often quite the opposite. The usual aim is to remove or replace conventional language features while still maintaining a language that is Turing-complete, or even one for which the computational class is unknown. Intercal belongs to this family.

INTERCAL was created in 1972, thus probably making it the first ever esoteric programming language. Donald R. Woods and James M. Lyon invented it, with the goal of creating a language with no similarities whatsoever to any existing programming languages.

According to the original manual by the authors, “The full name of the compiler is ‘Compiler Language With No Pronounceable Acronym,’ which is, for obvious reasons, abbreviated ‘INTERCAL’.”

Common operations in other languages have cryptic and redundant syntax in INTERCAL. The INTERCAL Reference Manual contains many paradoxical, nonsensical or otherwise humorous instructions, like:
“Caution! Under no circumstances confuse the mesh with the interleave operator, except under confusing circumstances!”

INTERCAL has many other features designed to make it even more aesthetically unpleasing to the programmer: it uses statements such as “IGNORE” and “FORGET”, as well as modifiers such as “PLEASE”. This last keyword provides two reasons for the program’s rejection by the compiler: if “PLEASE” does not appear often enough, the program is considered insufficiently polite, and the error message says so; if too often, the program could be rejected as excessively polite.

What do you think?

Leave a Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s