Affiliate Disclosure: By buying the products we recommend, you help keep the lights on at MakeUseOf. Read more.
Okay – you know your variables and you know you declarations. You can write something more advanced than ‘Hello World’. But if you think that you know every programming logic in the world, think again. Programming and logic co-exist…one is a Siamese twin of the other. But there are some very strange and bizarre programming languages which have turned logic on its head and have still managed to stay true to the science of communication with a computer. You are going to hear about ten programming languages you probably never heard of.
By the end of this post, you will be telling me – “You got to be kidding!” Believe me I am not. The computer not only understands zeros and ones, it gets a bit of humor too. How else can you explain the very real existence of these crazy and zany programming languages?
So, here’s the lineup of some esoteric programming languages and a few that actually do some work.
Origin: Befunge was invented in 1993 by Chris Pressey.
Described as an esoteric programming language, it is quite well described in Wikipedia. An esoteric programming language is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use. The strange goal of designing Befunge was to make a language that would be as difficult to compile as possible.
It is a two-dimensional, ASCII based language that is arranged in a ‘playfield’ (a two-dimensional grid). Arrows (<,>,^,v) are the main syntax that’s used to send instructions to the left, right, up, and down. Loops are constructed by sending the control flow in a cycle.
Read more about Befunge on the Esolang Wiki
Origin: Brainf**k was invented by Urban Müller in 1993. He wanted to develop the smallest possible compiler for the Amiga OS (version 2.0) using a new language. He managed to write a 240-byte compiler and later brought it down to below 200.
Along with Befunge, it is the more well-known of the esoteric programming languages. Both also have spawned other brain-twisting languages of their ilk. As it sounds offensive, it is also written as brainf***, brainf*ck, brainfsck, b****fuck or BF. The language uses a combination of eight commands – > < + – . , [ ] The absolutely minimalistic program is very difficult to use as like most esoteric languages it has no variables, no functions, no conditionals…which are part and parcel of common programming languages.
Read more about Brainf**k on the Esolang Wiki.
Origin: It was created by David Morgan-Mar and was named after geometric abstract art pioneer, Piet Mondrian.
Piet is another esoteric programming language where the code resembles an abstract painting. It uses 20 distinct colors which are arranged in blocks. Each color corresponds to a specific behavior. Commands are defined by the transition of color from one color block to the next as the interpreter travels through the program.
Read more about Piet on the developer’s own page
Origin: It was developed by the Swedish duo of Jon Åslund and Karl Hasselström almost in one night (at least the core part) as a lab project while they were in university.
SPL (Shakespeare Programming Language) is a language with ‘beautiful’ source code that is resembles Shakespeare’s plays. The main purpose was to make programs appear something other than programs. The language has title, characters, acts and scenes, enter and exit directives, lines just as you would expect in a Shakespearean play. For instance, the characters are the variables. It took its inspiration from the defined structured format of the plays. Compared to other esoteric programming languages, SPL is easily understood because the program itself is written in plain English and in drama form.
Read more about SPL on its homepage.
Origin: It was created by Edwin Brady and Chris Morris at the University of Durham and released on April Fool’s Day, 2003.
Does exactly what it means by its name. It creates…whitespace. The project website says it best –
Most modern programming languages do not consider white space characters (spaces, tabs and newlines) syntax, ignoring them, as if they weren’t there. We consider this to be a gross injustice to these perfectly friendly members of the character set. Should they be ignored, just because they are invisible? Whitespace is a language that seeks to redress the balance. Any non-whitespace characters are ignored; only spaces, tabs and newlines are considered syntax.
And it goes on to say that it is a perfect language for spies because no once will guess that a blank piece of paper hides vital computer code.
Read more about Whitespace on its homepage.
Origin: Created not by Tarzan, but again by David Morgan-Mar as an esoteric programming language which is more of a joke.
A language that resembles a pigeon call has to be in the ‘strange programming language’ category. But even strangely, it is not designed for birds. It is designed for orangutans in particular and primates in general. Believe me or not. The creator of Ook! and Brainfuck being the same, the language structure is the same except the commands used in Brainfuck are replaced by the Orangutan call and has less syntax elements (only three – Ook./Ook?/Ook!).
Read more (especially about the design principles) on the Ook page.
Origin: It was created by Daniel Temkin in 2009. He has also created other languages based around digital media like Light Pattern (it uses pictures)
Velato is a programming language which uses MIDI files as source code where the pattern of notes and its pitch and order determines commands. Velato produces jazz-like sounds but it is not a language to create music, but to create workable programs that can sound good. The screen shows the ‘Hello World’ program as sheet music (not code).
Read more about Velato on the developer’s blog.
Origin: It was created in 1993 by Graham Nelson.
If Shakespeare can be about plays, Inform as a programming language is about fiction. It is a language developed specifically for writing interactive fiction. Of all the languages on this list, it is actually usable and quite popular too in the writing community. It is an object-oriented and procedural language. It has also been used to design story-based interactive games like Savoir-faire and Floatpoint.
Read more about Inform at the Inform 7 Official Site.
Origin: It was developed at Carnegie Mellon University by W. A. Wulf, D. B. Russell, and A. N. Habermann in 1969. It stands for Basic Language for Implementation of System Software.
It was a well-known systems programming language on the scene till C came along. It has many features that are found in more modern high-level languages like block structures, an automatic stack, macros, and recursive routines. It was also unusual for its time in that it was a typeless programming language (a variable can contain any kind of value (numeric, string, boolean). BLISS was used by Digital Equipment Corp. for system programming and went into their VAX line of computers. BLISS is no longer widely used.
Read more on Wikipedia.
If you haven’t heard of this programming language, you should have. Simply because it was developed by Google. The language is Open Sourced and is sort of a combination of C++ and Python. It announced in a blog post –
Go attempts to combine the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C or C++. In our experiments with Go to date, typical builds feel instantaneous; even large binaries compile in just a few seconds. And the compiled code runs close to the speed of C. Go is designed to let you move fast.
Read more on Golang.
The above ten programming languages are a mix of the esoteric and the still usable. There are a few thousand programming languages around for everything imaginable – from one that looks like Morse code to Lisp which is the second-oldest high-level programming language still used today. Have you heard of the ten on this list? Which is the strangest programming language you know of?