Friday Fun: Top 10 truly bizarre programming languages

Twitter brings us some truly wonderful and, yes, bizarre things. I saw this one a few days ago via Vitor Pamplona and thought it was too good to pass up.

Anyways, here's the story from the original Listverse post, Top 10 truly bizarre programming languages:

This is a list of some of the most bizarre programming languages you will ever see. These types of languages are usually called "Esoteric Programming Languages". An esoteric programming language (sometimes shortened to esolang) is a computer programming language designed either as a test of the boundaries of programming language design, to experiment with weird ideas or simply as a joke, rather than for practical reasons. There is usually no intention of the language being adopted for real-world programming. Such languages are often popular among hackers and hobbyists.

Usability is rarely a high priority for such languages; often quite the opposite. The usual aim is to remove or replace conventional language features while still maintaining a language that is Turing-complete, or even one for which the computational class is unknown.

The list is truly fascinating and hilarious.

My favourite of the bunch was the Chef programming language:

Chef, designed by David Morgan-Mar in 2002, is an esoteric programming language in which programs look like cooking recipes. The variables tend to be named after basic foodstuffs, the stacks are called "mixing bowls" or "baking dishes" and the instructions for manipulating them "mix", "stir", etc. The ingredients in a mixing bowl or baking dish are ordered "like a stack of pancakes".

According to the Chef Home Page, the design principles for Chef are:

- Program recipes should not only generate valid output, but be easy to prepare and delicious.
- Recipes may appeal to cooks with different budgets.
- Recipes will be metric, but may use traditional cooking measures such as cups and tablespoons.

With the following listed as the traditional "hello world" beginner programming example for the language:

Hello World Souffle.

Ingredients.
72 g haricot beans
101 eggs
108 g lard
111 cups oil
32 zucchinis
119 ml water
114 g red salmon
100 g dijon mustard
33 potatoes

Method.
Put potatoes into the mixing bowl.
Put dijon mustard into the mixing bowl.
Put lard into the mixing bowl.
Put red salmon into the mixing bowl.
Put oil into the mixing bowl.
Put water into the mixing bowl.
Put zucchinis into the mixing bowl.
Put oil into the mixing bowl.
Put lard into the mixing bowl.
Put lard into the mixing bowl.
Put eggs into the mixing bowl.
Put haricot beans into the mixing bowl.
Liquefy contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.

Serves 1.

Yeah, right. I'd like to see someone reprogram the space shuttle control programs in Chef.

Frankly, I'm not brave enough to test it out using the links to interpreters in the Chef page. Are you?

More like this