Skip to content


Tag: Intercal

Writing a programming language takes a lot of effort, and is not exactly the easiest task in the world. That is why it surprised me to discover the amount of languages out there written purely as a form of amusement.

I have already written about a few, such as Intercal and Whitespace, but the list of others is enormous. I discovered wiki that keeps track of these esoteric languages called Esolang. The list of languages on the site is astounding.

I did have to smile, however, when in that list I saw that Java and COBOL are included. I have never worked in COBL (much like 99% of other programmers in the world) but I am familiar with Java, and have pretty much disliked it from the first time I ever used it. I think it certainly deserves the spot here, even though it is a mainstream language, sitting beside such languages as TMMLPTEALPAITAFNFAL and Brainfuck (no, I am not swearing – that really is the language name. Blame the authors).

Seeing this list makes me want to go grab my book on writing compilers and start getting busy……..wait, so this we have ended up with so many of these languages in the first place!


I recently blogged about Whitespace, being a language that was written primarily to be as obscure as possible. Well, Intercal is one of the old-timers in this category. It was conceived all the way back in 1972.

What I enjoyed about this language is that I don’t think there is a single sentence on their website, nor in their manual, which is not making some sort of joke. these are a bunch of guys who don’t take themselves seriously at all. For example, according to the manual, the full name of the compiler is “Compiler Language With No Pronounceable Acronym”, which is, for obvious reasons, abbreviated “INTERCAL”.

I have got to say that the code for something written in Intercal is not quite as incomprehensible as some other languages, but it certainly has got a completely different sense to any other language you may find. To give an example, to end program execution, the code is PLEASE GIVE UP. That should be some indication of the language. Not to mention, that it can output numbers natively in roman numerals.

Go on, I know you want to go and check it out….just heed the warning on the main page – Abandon All Sanity, Ye Who enter Here.