64x64 icon dark hosting
Get a Tuts+ subscription for just $45! Deploy New Relic now to claim.
Advertisement

10 Most Bizarre Programming Languages Ever Created

by

There is nothing more frustrating for a web developer than spending hours at a time fixing a bug that should just work. Often I'll get stuck in a programming state that feels like I have absolutely no idea what I'm doing, as if the language I'm using (CSS, PHP, whatever), is actually a foreign language.

If what I've described sounds familiar to your, then this article will provide comfort and humor.

Esoteric programming languages don't really serve any purpose other than providing a bit of fun or proving a proof of concept. But boy, do they provide a chuckle for the rest of us!

1. Ook!

If you've ever felt like a monkey just banging away at a keyboard, then Ook! will make you feel right at home. It's a language designed primarily for primates, specifically the orangutan. With Ook! you only use three syntax elements:

  • Ook.
  • Ook?
  • Ook!

Here are a few examples of Ook! in action:

Getting the idea? Yeah, me neither...


Photo by Suneko.

2. Piet

For those appreciative of fine art, Piet is a language that you'll surely enjoy. Inspired by the abstract artist Piet Mondrian, Piet is a programming language that converts programs into abstract geometric paintings. Programs are made up of 20 different colors, and then read by the compiler based on hex values to run a program.

Check out some of the crazy examples that Piet programmers have come up with.

3. Whitespace

Unfortunately, the name for this programming language is exactly what it does: Whitespace creates programs based off of... whitespace. The Whitespace website has a great description of how the language works.

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.

4. LOLCODE

LOLCODE is my personal favorite among esoteric languages. The language is based off of the LOLCats phenomenon, and uses LOLCats syntax to make programs run. Or something like that.

Just looking at a sample bit of an LOLCODE program will explain why it's a fan favorite.

Surprisingly, LOLCODE has captured interest in parts of the programming community. The official site lists many different implementations in languages like PHP, Python, Perl, .NET and Java. Who knows, maybe someday we'll see LOL programming courses taught in schools...

5. Shakespeare

Shakespeare is not as simple as LOLCODE to wrap your head around. In case you haven't figured it out yet, Shakespeare is a programming language based on the writings of the great playwright. Each program contains a title, acts, scenes and characters to make brilliant source code that's actually fun to read.

Here's Act I, Scene I of "Hello World":

6. Befunge

The goal for Chris Pressey, creator of the Befunge programming language, was simple: Create a language that was as difficult to compile as possible. Befunge accomplishes this by the two main features of the daunting language:

  1. Self modifying - the p instruction can write new instructions into the playfield; and
  2. Multi-dimensional – the same instruction can be executed in four different contexts (in a left-to-right series of instructions, or right-to-left, or upward or downward.)

Regardless, there are very smart people, (with way too much free time), who have created compilers for Befunge.

\

7. reMorse

reMorse is a language intended to look like morse code. Visions of submarines and telegrams come to mind with this simple yet incredibly challenging language. Here's the reMorse version of "Hello World":

This language might be a tad on the difficult side for the rest of us (with the exception of amateur radio specialists). You know it's a bear to program when the author of the language won't finish all of the basic example, due to complexity.

8. FALSE

With an appropriate negative connotation, FALSE is a language meant to discourage even the cleverest programmers. Based on the Forth language, FALSE uses a punctuation based syntax (gross!) to help sour the programming experience.

From the FALSE creator himself:

I designed this language with two particular objectives: confusing everyone with an obfuscated syntax, and designing as powerful a language as possible with a tiny implementation: in this case a compiler executable of just 1024 bytes (!), written in pure 68000 assembler.

Yet FALSE isn't the most ridiculous of the esoteric languages, and could actually serve real world purposes, as the operations are reasonably sensible and the language isn't extremely complex. Maybe somebody, someday, will make a useful real-world application out of the language...

False.

9. Whenever

Imagine a surly teenager as a programming language, and you've got yourself Whenever. Whenever is a simple language that does what it wants, when it wants.

It takes the program code and treats each line as an item in a to-do list. The interpreter chooses an item from the list at random to execute, and executes the statement. In some cases, the statement will contain a clause that specifies that it cannot be executed until certain conditions apply. This results in the statement being deferred and placed back on the to-do list.

Don't think for a minute you can actually control a Whenever program. Imagine how hard this makes programming something like "99 Bottles of Beer"! The program would return something that read like it had already consumed all 99.


Photo by foundphotoslj.

10. l33t

Ever wanted to speak like a "l33t H4xX0r5"? Now you can by learning the l33t programming language. Check out the l33t "Hello World" application:

In real life, l33t is "teh sUxX0r" due to the fact that you can't use it for anything useful. Ah well, back to hacking with all the other script kiddies and trolls!


Photo by Yoz.


Advertisement