Skip to content


Tag: Whitespace

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 have encountered one of the world’s most unreadable programming language: Whitespace. It is not your conventional language by any stretch of the imagination.

What whitespace is, is a stack-based language, which means most of the operations involve pushing and popping numbers onto a stack and being able to do arithmetic operations on it. Beyond this there are also operations that allow jumping and conditional statements, basically the equivalent of if statements and goto statements in other languages, and subroutines are also supported.

This alone, however, would not rank Whitespace as a complicated language. It would be very limited in its application – allowing nothing more complicated than a calculator program or something similar.

The real reason Whitespace is such an incomprehensible language, is that EVERYTHING is written using only white space characters. As in the characters for space, tab and linefeed. Various combinations of these characters denote the various commands.

Now, when you open a file with this code in it, it would appear as if nothing was entered at all. For a good example of how a program written in Whitespace would look, have a look at the Whitespace site.

I seriously think that some people have way too much time on their hands….