The 5 most bizarre programming languages
Programming languages such as Python, JavaScript and C++ are designed to be fast, legible and practical.
18. August 2025
10 min
BeginnerProgramming languages such as Python, JavaScript and C++ are designed to be fast, legible and practical.
18. August 2025
10 min
BeginnerProgramming languages such as Python, JavaScript and C++ are designed to be fast, legible and practical. They solve problems, power applications, ease automation and are the foundation of artificial intelligence. But what if programming were not about simplicity and efficiency but rather about provocation, play and a test of your nerves? That is where the weird, crazy world of esoteric languages begins.
In the article we will look at a few cult pieces: the minimalist Brainfuck, the one-liner-spouting ArnoldC, the visually artistic Piet, the language of invisible characters, the dramatic Shakespeare Programming Language and the extremely mad Malbolge.
Brainfuck is one of the best-known esoteric programming languages, which is very minimalist and, in terms of syntax, extremely simple, but very hard to write and read code in. The language has only 8 basic commands that manipulate a simple memory tape (an array of bytes) and a pointer to the current cell.
The language's author, Urban Müller, created it in 1993 as a concept of experimental programming. He wanted to show how few instructions are enough to create a full-fledged language. The aim was not practicality but extreme simplicity of syntax and at the same time extreme difficulty of reading. Brainfuck became a cult language among programmers who like to rack their brains. It is a mental labyrinth where every mistake means long debugging and a lot of patience.
Its aim, then, is not practicality but showing how few instructions are enough for Turing completeness (that is, the theoretical possibility of expressing any algorithm). Every command is a single character: >, <, +, -, ., ,, [, ].
An example that prints the letter A
++++++++++ // sets the cell's value to 10 [>+++++++++++ // 60 + 5 = 65 (the ASCII value of the letter 'A') . //prints
And the result is the letter A
If you have ever wondered what programming would look like if Arnold Schwarzenegger did the talking instead of code, ArnoldC gives you the exact answer. This esoteric language is a brilliant parody and at the same time a tribute to one of the most iconic action characters in Hollywood history. ArnoldC combines programming with cult lines such as "IT'S SHOWTIME" or "YOU HAVE BEEN TERMINATED", thereby making code not only a technical but an entertaining linguistic show. Behind its creation stands the developer Lauri Hartikka, who created a working compiler for Java able to translate ArnoldC into JVM bytecode. You can program with it today; it is just not mainstream or suitable for production use.
ArnoldC is a full-fledged programming language. It has variables, conditions, loops, output, input and even arithmetic operations. The only difference is that everything is expressed with lines Arnold said in films, above all in the Terminator series and other action classics.
Examples of basic commands:
| The ArnoldC command | The meaning in ordinary language |
| IT'S SHOWTIME | The program's start (the main function) |
| YOU HAVE BEEN TERMINATED | The program's end |
| GET TO THE CHOPPER [var] | The start of assigning a variable |
| HERE IS MY INVITATION [value] | Assigning a value |
| ENOUGH TALK | The end of the assignment |
| BECAUSE I'M GOING TO SAY PLEASE | The start of an if condition |
| BULLSHIT | else |
| YOU HAVE NO RESPECT FOR LOGIC | endif |
| TALK TO THE HAND | Print the value |
| I LIED | return |
This simple example shows how to add two numbers in ArnoldC and print the result. In this case the result is 8 + 3 = 11:
IT'S SHOWTIME
GET TO THE CHOPPER a
HERE IS MY INVITATION 8
ENOUGH TALK
GET TO THE CHOPPER b
HERE IS MY INVITATION 3
ENOUGH TALK
GET TO THE CHOPPER result
HERE IS MY INVITATION a
GET UP b
ENOUGH TALK
TALK TO THE HAND result
YOU HAVE BEEN TERMINATED
If ArnoldC is for film fans, then Whitespace is a language for spies. This esolang rejects everything visible: letters, numbers, characters. A program in Whitespace is written using only spaces, tabs and newlines. Your code can thus look like an entirely blank document, yet it is in fact a working program. Whitespace arose in 2003 as a project of humour and creativity. The language's author Edwin Brady wittily remarked that "everyone ignores whitespace, so I wrote a language that ignores everything else." The language is not just a joke, though — it contains support for:
That places it among the Turing-complete languages. It can therefore theoretically program any algorithm.
Here are the three basic characters that make up the whole language:
| The character | The representation |
| Space | ' ' |
| Tab | '\t' |
| Newline | '\n' |
Every command in the language starts with an identifying prefix (e.g. Stack Manipulation, Flow Control) followed by a sequence of these three characters defining the operation and its argument.
| The operation | The description |
| Space Space | Push a value onto the stack |
| LF | Marks the end of an instruction |
| Tab Space | Arithmetic (e.g. a sum) |
| Tab Tab | I/O operations |
And everything is written only as blank characters. Without a special editor or highlighting you will see nothing at all.
This code prints the character A (ASCII value 65):
(⚠️ This example is shown here symbolically – in practice it would appear as blank text)
[S] // Space [S] // Space → Push [0] // the binary value 65 [L] // Linefeed (the end of the instruction) [T] // Tab [T] // Tab → Output [S] // Space → Output character [L] // Linefeed
Want to try it out? Use an editor that shows whitespace characters or an online interpreter such as this one: https://vii5ard.github.io/whitespace/
Allow us to introduce one of the most remarkable esoteric languages ever created – Piet. This programming language entirely disrupts traditional ideas of what source code should look like. In Piet you do not write text but paint a picture. And not just any picture – one that has functional, computational logic.
Piet is a visual programming language whose programs resemble abstract paintings. It is named after the famous Dutch painter Piet Mondrian, known for his geometric compositions of colour blocks. This language uses the same principle: code consists of coloured squares, so-called codels.
The language's basic elements:
The program is executed by a so-called "direction pointer" moving across the codels in a certain direction. Depending on the change in hue and brightness between two adjacent blocks, a particular arithmetic, logical or control operation is carried out.
Piet defines operations by the combination of two changes:
These two dimensions create 18 different colour transitions corresponding to specific operations such as:
A programmer thus has to not only design the right sequence of operations but at the same time create them visually through properly connected colour blocks.
Although we cannot show it here in the text, at this link you will find an example of a simple program that prints A:
Fun with Piet – a Medium article
And better still – you can try it interactively here:
Piet editor & interpreter
If you have ever wished your code sounded like a play by William Shakespeare, the Shakespeare Programming Language (SPL) is exactly for you. This unique esoteric language turns ordinary programming into a dramatic performance, where variables appear as characters, commands are expressed through poetic dialogue and the program's structure is divided into acts and scenes. SPL is more than just a programming language – it is a linguistic and literary exercise joining classic English poetry with computational logic.
In Shakespeare, code does not take the form of lines with brackets and operators. Instead it looks like a theatre script:
The basic elements
| The SPL element | The meaning |
| Act I: Scene I | The program's start |
| Enter Romeo and Juliet. | Declaring variables |
| You are as lovely as... | Assigning a value |
| Speak your mind! | Output (print) |
| Listen to your heart. | Input |
| If so, let us proceed to... | Conditions and jumps |
An example program: prints the number 1
The Infamous Hello World Program. Romeo, a young man with remarkable patience. Juliet, a likewise young woman of remarkable grace. Act I: The Only Act Scene I: The Beginning [Enter Romeo and Juliet] Romeo: You are as lovely as the sum of yourself and a little bit more. Speak your mind!
This simple example beautifully shows how assignment and output can be expressed in dramatic form. In fact, though, SPL supports arithmetic, conditions, jumps and logical operations, thanks to which it is a Turing-complete language.
If you already thought Brainfuck, ArnoldC and Shakespeare were "mad enough", allow us to introduce three languages that push the boundaries of absurdity, humour and computational challenge much further still. These esoteric legends are known among programmers who are not looking for practicality but for an extreme mental (or meme) adventure.
INTERCAL (short for Compiler Language With No Pronounceable Acronym) arose as early as 1972 as a satire on the mainstream languages of the time such as Fortran and COBOL. Its authors – Don Woods and James Lyon – decided to create a language that would be absolutely unintuitive, pointlessly complicated and deliberately contrary to the established conventions of programming.
INTERCAL's oddities:
The result is a linguistic nightmare that has won cult status precisely because it does everything in the most impractical way possible.
If you like internet humour, LOLCODE will certainly amuse you. A language inspired by the "LOLCats" meme phenomenon. In this language you write a program as if you were talking in internet slang from 2008, with expressions such as HAI, CAN HAS, KTHXBYE and the like.
An example of a simple program:
HAI 1.2 CAN HAS STDIO? VISIBLE "Hello World!" KTHXBYE
LOLCODE is not merely a parody – it is a way of joining coding with internet culture and showing that programming need not always be serious.
Malbolge is a language belonging to an entirely different category. It was designed in 1998 to be almost impossible to program in. Its name comes from "Malebolge", the eighth circle of hell in Dante's Divine Comedy.
Why is Malbolge so extreme?
Malbolge is not merely a challenge – it is a "boss level" challenge. Writing a working program in this language is considered an act of pure programming madness or glory.
Esoteric programming languages are not meant for building serious applications. This is not Python or JavaScript – it is not about speed, efficiency or "production" code. They are here for you to have fun, try something entirely unusual and practise creativity and patience. Brainfuck, ArnoldC, Piet or the Shakespeare Programming Language will surprise you, catch you out or make you laugh – and that is exactly the point.
Do not be afraid to experiment, try crazy combinations and play with code that makes no sense. These languages are about play, provocation and discovering new angles on programming. So drop the seriousness, look at it with humour and enjoy yourself.
The latest trends, proven practices and analyses from the digital world. Find out how to take your technology and marketing growth further.
And don't forget to check out Invelity Extras – you'll find a marketing glossary, useful tools and plugins to make your work easier!
Invelity Extras