I recently watched a YouTube video entitled “Hello, World” in 5 CURSED languages that no one should use and it made me want to go dive into the fun, and mind-boggling, world of Esoteric Languages. Quick warning before we get started, there are a lot of Esoteric languages that are heavy on the expletives, I have avoided them in this post, but just be warned before you go further outside of this post.

All of my examples are available on GitHub and include basic readme’s as well as the interpreters required to run the examples.

What are Esoteric Languages?

According to esolang.org an Esoteric Programming Language is

An esoteric programming language, or esolang, 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.

esolang.org

However it can mostly be simplified to, they are not designed for serious functionality or use, as I am sure you will see later in this post. Esoteric languages can generally be categorisedinto one of more broad groups:

  • Minimalism – The common design goal being to have as few instructions as possible.
  • New Concepts – For the exploration of alternative ways to design programming languages.
  • Weirdness – These are where the main purpose is of being weird and difficult to program in.
  • Themed – Languages that are based on a theme that is not computer related, examples include languages based on Klingon and the works of Shakespeare.
  • Brevity – Designed to be as short as possible, these are also known as Golfing Languages for use in code golf, a game for programmers to solve problems using the least amount of code possible – usually counted in number of characters or file size.
  • Jokes – many are created as a joke, some are usable, others are not.
  • Obfuscation – and some are designed simply to be hard to read.

So, with the introduction to what Esoteric languages are out of the way, here are some my favourite examples of to write “Hello World!”.

Stuck

As I mentioned above, some languages are designed for brevity. When it comes to writing “Hello, World!” none do it better than Stuck! Here is an example of the required code

Yep, an empty .stk file will output Hello, World! Despite this, it isn’t a one trick pony and is a surprisingly comprehensive language ideal for code golf.

Stu

I’m not sure which category this one fits in, but Stu is a pseudo natural language designed to look like the desires of Stu (Another Stu, not this Stu, but come on, it’s called Stu, I had to include it).

Writing “Hello, World!” in Stu couldn’t be easier:

Stu wants to tell you something: "Hello, World!"

LOLGraphics

This one definitely falls under the themed category, and the LOLcat influence is strong. Yes, I’m an elder millennialwho was there when icanhascheezburger was the greatest thing since badgerbadgerbadger…

Being a themed language, this one is a little more involved than the others but that is all part of the fun!

HAI 3.4 0 100
IM IN UR CODE EXECUTIN UR KOMANDZ

PLZ PRINT TEXT HAI WORLD!

IM OUTTA UR CODE

To run the code though you need to use the supplied Editor

Bin-snake

Bin-snake converts a bin-snake file (.bs) to python code. Essentially it converts binary to python and then runs it as python code. That makes “Hello, World!” look like this

01110000011100100110100101101110011101000010100000100010010010000110010101101100011011000110111100101100001000000111011101101111011100100110110001100100001000010010001000101001

which is then converted to

print("Hello, world!")

and then ran as python code.

The interpreter is pretty powerful and will allow you to

  • run a .bs file
  • compile a .bs file back to python with the output as a .py file
  • interpret a binary string, rather than a .bs file
  • and finally it will write .bs files from .py files.

Shakespeare

Another themed language, this time designed to have source code that resembles Shakespeare’s plays, it certainly achieves that.

The Infamous Hello World Program.

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.


                    Act I: Hamlet's insults and flattery.

                    Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:
 You lying stupid fatherless big smelly half-witted coward!
 You are as stupid as the difference between a handsome rich brave
 hero and thyself! Speak your mind!

 You are as brave as the sum of your fat little stuffed misused dusty
 old rotten codpiece and a beautiful fair warm peaceful sunny summer's
 day. You are as healthy as the difference between the sum of the
 sweetest reddest rose and my father and yourself! Speak your mind!

 You are as cowardly as the sum of yourself and the difference
 between a big mighty proud kingdom and a horse. Speak your mind.

 Speak your mind!

[Exit Romeo]

                    Scene II: The praising of Juliet.

[Enter Juliet]

Hamlet:
 Thou art as sweet as the sum of the sum of Romeo and his horse and his
 black cat! Speak thy mind!

[Exit Juliet]

                    Scene III: The praising of Ophelia.

[Enter Ophelia]

Hamlet:

 Thou art as beautiful as the difference between Romeo and the square
 of a huge green peaceful tree. Speak thy mind!

 Thou art as lovely as the product of a large rural town and my amazing
 bottomless embroidered purse. Speak thy mind!

 Thou art as loving as the product of the bluest clearest sweetest sky
 and the sum of a squirrel and a white horse. Thou art as beautiful as
 the difference between Juliet and thyself. Speak thy mind!

[Exeunt Ophelia and Hamlet]


                    Act II: Behind Hamlet's back.

                    Scene I: Romeo and Juliet's conversation.

[Enter Romeo and Juliet]

Romeo:
 Speak your mind. You are as worried as the sum of yourself and the
 difference between my small smooth hamster and my nose. Speak your
 mind!

Juliet:
 Speak YOUR mind! You are as bad as Hamlet! You are as small as the
 difference between the square of the difference between my little pony
 and your big hairy hound and the cube of your sorry little
 codpiece. Speak your mind!

[Exit Romeo]

                    Scene II: Juliet and Ophelia's conversation.

[Enter Ophelia]

Juliet:
 Thou art as good as the quotient between Romeo and the sum of a small
 furry animal and a leech. Speak your mind!

Ophelia:
 Thou art as disgusting as the quotient between Romeo and twice the
 difference between a mistletoe and an oozing infected blister! Speak
 your mind!

[Exeunt]

Yes, it really takes all of that to get “Hello, World!”. I love the concept behind this one, its almost impossible to write and yet hilarious that it works. You can read more about it on the official shakespearelang page.

Frog

Another themed language based on the sounds of frogs. Pretty slim featured, but still impressive for a frog. To write “Hello, World!” is nice and straight forward

croak Hello World!

Summary

So there you have it, 6 ways you never would have expected to be able to write a Hello World program. Have you ever played around with Esoteric Programming Languages? Or taken part in any code golf challeneges? Leave a comment and let me now about your experience!