in Misc

Top 13 Most Absurd Programming Languages

Share via Facebook

An esoteric programming language (sometimes shortened to esolang) is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke. There is usually no intention of the language being adopted for mainstream programming, although some esoteric features such as visuospatial syntax have inspired practical applications in the arts. Such languages are often popular among hackers and hobbyists. This use of esoteric is meant to distinguish these languages from more popular programming languages.

I’m a programmer, I know my way through many languages from ASM and all the way to PHP. Learning a new programming language takes a lot of time and effort, but making a new one takes even more. Yeah, I do have a good sense of humor but why in the name of Pascal would you waste your time inventing something like Brainfuck or ZOMBIE? Anyway, at least they make us laugh. In this article you will see the most absurd, useless and hilarious 13 esoteric programming language that I know.

1. Lolcode

Lolcode was inspired by the language expressed in examples of the lolcat Internet meme. The language was created in 2007 by Adam Lindsay, researcher at the Computing Department of Lancaster University.

“Hello World” example:
HAI
CAN HAS STDIO?
VISIBLE “HAI WORLD!”
KTHXBYE

2.Befunge

Befunge and its ilk allow the instruction pointer to roam in multiple dimensions through the code. For example the following program displays “Hello World” by pushing the characters in reverse order onto the stack, then printing the characters in a loop which circulates clockwise through the instructions [>], [:], [v], [_], [,], and [^].

“Hello World” example:
"dlroW olleH">:v
^,_@

3. Brainfuck

Brainfuck is designed for extreme minimalism and leads to obfuscated code, with programs containing only 8 distinct characters.

“Hello World” example:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
 

4. Chef

Chef is designed to make programs look like cooking recipes. e.g. the following statement pushes an item onto a stack:

“Hello World” example:

Put cinnamon into 2nd mixing bowl
  

5. Piet

Piet is a visual language whose programs are bitmaps that resemble abstract art.

“Hello World” example:

 

6.Shakespeare

Shakespeare is designed to make programs look like Shakespearean plays. e.g. the following statement declares a point in the program which can be reached via a GOTO-type statement.

“Hello World” example:

[Enter Juliet]
[Enter Romeo and Juliet]
[Exit Romeo]
[Exeunt Romeo and Juliet]
[Exeunt]
 

7. Whitespace

Whitespace only considers the layout of whitespace and ignores all non-whitespace characters. Unlike most programming languages, which ignore or assign little meaning to most whitespace characters, the Whitespace interpreter ignores any non-whitespace characters. Only spaces, tabs and linefeeds have meaning.

A part of “Hello World” example:

8. INTERCAL

INTERCAL, short for “Compiler Language With No Pronounceable Acronym”, it satirizes aspects of the various programming languages at the time, as well as the proliferation of proposed language constructs and notations in the 1960s.

“Hello World” example:

DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP
 

9. Malbolge

Malbolge is a public domain esoteric programming language invented by Ben Olmstead in 1998, named after the eighth circle of hell in Dante’s Inferno, the Malebolge. The peculiarity of Malbolge is that it was designed to be the most difficult and esoteric programming language. However, several of the tricks used to make understanding it difficult can be simplified away.

“Hello World” example:

 ('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
 `CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
 

10. BIT

BIT is a programming language in which the programmer has full access to all data in its essential machine representation. This is a powerful programming tool, allowing manipulations of data that are convoluted in “higher-level” languages with various specialised functions that operate on more complicated and abstract data types.

A part of “Hello World” example:

LINENUMBERZEROCODEPRINTZEROGOTOONELINENUMBERONECODEPRINTONEGOTOONEZEROLINENUMBE
RONEZEROCODEPRINTZEROGOTOONEONELINENUMBERONEONECODEPRINTZEROGOTOONEZEROZEROLINE
NUMBERONEZEROZEROCODEPRINTONEGOTOONEZEROONELINENUMBERONEZEROONECODEPRINTZEROGOT
OONEONEZEROLINENUMBERONEONEZEROCODEPRINTZEROGOTOONEONEONELINENUMBERONEONEONECOD
EPRINTZEROGOTOONEZEROZEROZEROLINENUMBERONEZEROZEROZEROCODEPRINTZEROGOTOONEZEROZ
EROONELINENUMBERONEZEROZEROONECODEPRINTONEGOTOONEZEROONEZEROLINENUMBERONEZEROON
EZEROCODEPRINTONEGOTOONEZEROONEONELINENUMBERONEZEROONEONECODEPRINTZEROGOTOONEON
EZEROZEROLINENUMBERONEONEZEROZEROCODEPRINTZEROGOTOONEONEZEROONELINENUMBERONEONE
ZEROONECODEPRINTONEGOTOONEONEONEZEROLINENUMBERONEONEONEZEROCODEPRINTZEROGOTOONE
ONEONEONELINENUMBERONEONEONEONECODEPRINTONEGOTOONEZEROZEROZEROZEROLINENUMBERONE
ZEROZEROZEROZEROCODEPRINTZEROGOTOONEZEROZEROZEROONELINENUMBERONEZEROZEROZEROONE
CODEPRINTONEGOTOONEZEROZEROONEZEROLINENUMBERONEZEROZEROONEZEROCODEPRINTONEGOTOO

11. Ook!

Ook! is similar to Brainfuck, but uses the words “Ook!“, “Ook.” and “Ook?” instead.

“Hello World” example:

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
 

12. ZOMBIE

ZOMBIE is a programming language designed for Necromancers, particularly evil ones. (Actually, what other sorts are there?) ZOMBIE is an acronym, and stands for Zombie-Oriented Machine-Being Interface Engine.

“Hello World” example:

HelloWorld is a zombie
summon
	task SayHello
		say "Hello World!"
	animate
animate

13.HQ9+

HQ9+ is a joke language with four instructions:

  • +: Increment the accumulator

Although the language is not of serious interest by itself, it can be useful to implement HQ9+ in a new esoteric programming language, since doing so proves that all the tasks above, except the quine, are possible.

That’s all, what do you think? Would you ever bother learning such a programming language?

Bogdan

Bogdan is the founder of Top Design Magazine. You can find him in Bucharest-Romania so next time you want to drink a beer there and talk about web and stuff, give him a message.

  • None

    A link to the websites/pages of these languages would have been helpful to understand the idea behind some of them in depth.

    • Anonymous

      well…you can google it :)

  • None

    The Hello world example in Befunge is wrong, it uses arrows to signify the direction of the movement, so what should have been in three lines is wrongly depicted here in tow, therefore the loop will not work.

    >”dlrow olleH” >:v
    v:,_@
    > ^

    The first line pushes the characters onto the stack in reverse, the second line prints/outputs the last character on the stack (starting with H which was pushed last, hence the reverse string) the third line creates the loop going back to the second line till there are no more characters left to pop from the stack

  • Pingback: Cele mai ciudate limbaje de programare

  • en939872

    Headline says 13, where is the last Programming Language to depict? You have only listed 12. Thank you.

    • Anonymous

      Uhm, sorry for that, I’ll fix it in a few minutes.

  • Pingback: Top 13 Most Absurd Programming Languages | Speckyboy Design Magazine

  • http://twitter.com/flowchainsensei Bob Marshall

    I feel the languages K, Q and (maybe) APL should also get an honourable mention (even though, it seems, some folks do “real work” with them) :}

    And of course, Visual Basic has a special absurdity all of its own. ;)

    - Bob @FlowchainSensei

  • http://twitter.com/flowchainsensei Bob Marshall

    I feel the languages K, Q and (maybe) APL should also get an honourable mention (even though, it seems, some folks do “real work” with them) :}

    And of course, Visual Basic has a special absurdity all of its own. ;)

    - Bob @FlowchainSensei

  • http://profiles.google.com/erjablow Eric Jablow

    Does Damien Conway’s Lingua::Romana::Perligata count?

  • Christian Toivola

    You forgot to add Visual Basic

    • Anonymous

      Visual basic? Why?

  • Pingback: BT雷人的程序语言(大全) | 酷壳 - CoolShell.cn

  • Anonymous

    Great

  • Anonymous

    Great

  • Pingback: Los 13 lenguajes de programación más absurdos | Clic que te clic

  • Anonymous

    Well, An absorbing aftereffect of this acreage is that a Whitespace affairs can calmly be independent aural the whitespace characters of a affairs accounting in addition language, except in Python, authoritative the argument a polyglot.

Submit community news!


Name / Full Name [Field is mandatory]

Website (ex: http://www.yourwebsite.com)


News Title [Field is mandatory]

News Category [Field is mandatory]


(ex: http://www.yourwebsite.com/news-article/) [Field is mandatory]


A short description about your News / Article minimum of 50 Chars [Field is mandatory]