In this article, we take a look at some truly bizarre programming languages. The first thought in your mind when you come across these programming languages would probably be “someone had way too much time on their hands.” Some of these languages actually were created to serve a specific purpose, while some of them were meant to challenge, frustrate and amuse the user. And yes, some of them were the result of some very smart persons having far too much free time.
So without further ado, here’s our list of the top 20 strangest programming languages:
reMorse is a programming language designed to make the code look like Morse code.
reMorse consist of four instructions. The dash(-) and dasher(- followed by a space) instructions select the next and previous operation respectively, from a circular list of seven operations. Dot(.) and dotty(. followed by a space) do the operation and the opposite of the operation which is being selected, respectively.
reMorse2, reMorse2.-, and reMorse4ever are the dialects of reMorse, among which only reMorse2.- is claimed as Turing-complete.
Morse code can be a pain in the ass without an automatic translator, and you know for a fact that reMorse would be a pain to code in, because the author himself didn’t finish the mandatory “Hello World” program:
Oh my god rolling on the floor laughing – someone thought it would be a good idea to create a language whose commands are all Internet acronyms like lol, omg, brb, wtf, lmao, roflmao etc. And thus, Omgrofl was born. A typical Omgrofl program would look like a conversation between pre-teens overflowing with swag. All variables are of the form lol, lool, loool etc. Here’s what a “Hello World” program looks like in Omgrofl:
Like Arnold Schwarzenegger movies? If so, this is the programming language for you. ArnoldC is made completely out of one-liners from Schwarzenegger movie classics such as Terminator, Predator and Total Recall.
It was created by Lauri Hartikka, who swapped out standard commands with their equivalent Arnold one-liners. Some examples are:
BECAUSE I'M GOING TO SAY PLEASE
YOU HAVE NO RESPECT FOR LOGIC
Here’s a “Hello World” program in ArnoldC:
IT'S SHOWTIME TALK TO THE HAND "hello world" YOU HAVE BEEN TERMINATED
For the uninitiated, computer code might look like an ugly mess of something you probably don’t want to be a part of. AsciiDots strives to be different. In fact, it looks like art – ASCII art to be precise. In this language, dots, represented by periods
'.' travel down ascii art paths and undergo operations.
Here’s a few sample Asciidots programs:
GolfScript is a stack oriented esoteric programming language aimed at solving problems (holes) in as few keystrokes as possible. It also aims to be simple and easy to write.
Short code is achieved by using single symbols to represent high level operations (such as map, join, array size, etc). Being stack based allows for functions and other manipulations to work without the need for explicit variables. However variables still exist and are useful for more complicated stack manipulations.
- It is a weakly typed programming language
- It allows the evaluation of any expression as any type.
The characters with the shortest JSFuck expansions are listed below. Other characters can be expressed as well but will generate considerably longer code.
Velato is a programming language, created by Daniel Temkin in 2009, which uses MIDI files as source code: the pattern of notes determines commands. Velato offers an unusual challenge to programmer-musicians: to compose a musical piece that, in addition to expressing their aims musically, fills the constraints necessary to compile to a working Velato program. Each song has a secret message: the program it determines when compiled as Velato.
The “Hello World!” example given below is what the source code looks like:
Grass is a functional programming language that only uses the characters “W”, “w”, and “v”. Thus, programs in Grass are said to look like ASCII art of grass. Grass has the formal specification which is based on untyped lambda calculus and the SECD machine.
Here’s a program that prints ‘W’ in Grass:
You’ve probably come across Leet speak some time on the Internet. Well, thanks to Stephen McGeal and Alex Mole, there’s a programming language based on it. Even on the official site of l33t, it is described as an “evil programming language”.
l33t was designed to be as confusing as possible. It is Turing-complete and has the possibility for self-modifying code. Software written in the language can make network connections and may therefore be used to write malware. And if you write wrong code, the compiler can and will call you a n00b or sUxX0r.
Here’s a sample “Hello world” program in l33t written by Stephen McGeal himself.
// "Hello World" by Stephen McGreal.
// Note that the views expressed in this source code do not necessarily coincide with those of the author :o)
iT 41n't s0 7rIckY.
l33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!
Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!
I'M teh fr4GM4stEr aN I'lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE*** wItH y0uR h1dE!!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$
l33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$...
s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y'r3 ju$t n0rMal lEE7 5pEEk but th3y're 5ecRetLy c0dE!!!!
n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!!!
50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0
bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE
y0d4!!! hE i5 teh u8ER!!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD!!!" u ju5t cAn'T gu3s5.
tH3r3's n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s whAt th1s 1s!!!!!
Chef by David Morgan-Mar is a stack-oriented programming language designed to make programs look like cooking recipes. Programs consist of a title, a list of variables and their data values and a list of stack manipulation instructions. The basic design principles of the language were
- the code should not only generate valid output but the output must be easy to prepare and delicious
- recipes must appeal to cooks with different budgets
- the recipes have to be metric
In other words, the recipes must work as code, AND can be prepared and eaten. The source code for the “Hello World” program is given below: