What is an esoteric programming language?

An esoteric programming language (esolang) is a type of programming language that is particularly popular among hackers and programming enthusiasts. It is rarely used to write real applications, because its syntax is often indecipherable, the language is simplified and the solutions are overly complicated. Esolangs are created to test the limits of programming and to demonstrate its unconventional methods and techniques. Their creators try to remove or replace as many classical programming constructs as possible without compromising the performance of the language.

Here's our list of the 5 most interesting esolangs.


We bet you've seen a lot of cat memes written in nonstandard English (in case you haven't, we put one of them on top of this post πŸ˜‰). This is just how LOLCODE's syntax and semantics look like!. How does LOLCODE differ from the classical programming language?

An example of a code written in LOLCODE

As you can see, this language looks quite primitive and resembles slang. All because its creator - Adam Linsday in 2007 was inspired by pidgin English, i.e. a simplified version of English used for communication during trade. Thanks to its simple syntax, people starting their programming adventure understand the principles of programming much faster than in the case of languages that are designed also for professional use.

2. BRAINF***

You'll find this language under different names. πŸ˜‰ BrainF*** is already 27 years old! Its creator - Urban MΓΌller decided that his piece will operate on as few instructions as possible. As a result, each code in BF consists of a maximum of 8 instructions, which are as follows: >, <, +, -, [, ], ,, ... Isn't it impressive? But let's take a look at the sample code written with this language!

An example of a code written in Brainfuck

In turn, the famous "Hello, world" looks like this:


You can check how any text in BrainF*** will look like by typing it here.

3. Ook!

Ook! is the work of David Morgan-Mar, who was inspired by BrainF*** (Ook vs BrainF***: https://esolangs.org/wiki/Ook!) and the book series "Discworld". We don't want to spoil it, so we'll just write that this language was supposed to be a tool for communication between man and orangutans. πŸ˜‰ Ook! is based on commands consisting of a combination of three expressions: Ook, Ook! and Ook?. LOok:

An example of a code written in Ook!

All clear, right? πŸ˜„ By the way, David Morgan-Mar has created another interesting programming language - Chef, which looks just like a recipe! Variables are ingredients, and the commands are: stir, combine, bake, etc.

4. Malbolge

This programming language owes its name to the eighth circle of Hell from Dante's "Divine Comedy". Why? Because it's hard as hell! It was supposed to be a programming language in which it would be impossible to create anything! However, as it turns out, programming in Malbolge is possible, but definitely not pleasant... The instructions are ambiguous, and the meaning of individual characters is given by the program itself, so coders are not able to predict the final effect. To make it even more interesting, this language is based on a ternary numeral system.

An example of a code written in Malbolge

How do you like it? πŸ˜ƒ

5. Whitespace

Our list ends with a language that is a complete reversal of classical programming languages, because it ignores text and is fully based on whitespace characters, i.e. spaces, tabs and line feeds. No wonder, given that it was created on April Fools' Day! Just look how its highlighted code looks like!

An example of a code written in Whitespace

So, if you decide to learn Whitespace, we suggest you make sure that your code editor highlights all whitespaces. πŸ˜‰