esoteric + programming languages = esolangs
To the unaccustomed eye, esolangs are impractical, useless and indecipherable. But for mindlessly bored programmers, creating such strange works of art becomes a captivating hobby, ineffably beautiful with its own poetic mark in the history of computer science and beyond. Probably. I wouldn’t know, I’ve never seen the point of making one. But I do appreciate these weirdest programming languages to date that are actually appealing to look at:
Weirdest programming languages
Creator: David Morgan-Mar
Theme: Abstract art
Morgan-Mar is an Australian physicist. Though he is largely known in programming culture more for his numerous esolangs and webcomics.
Piet is one of several esolangs that are truly original. As can be seen in the collection of samples above, each are programs – or rather 2D bitmaps – reminiscent of abstract art à la Piet Mondrian.
Its interpreter executes code by moving pointers across the contiguous colour cells. Up to 20 different colours are supported, while variations of Piet can support more.
Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. Variation Created by Mike Worth. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. ... ...
Creator: David Morgan-Mar
Theme: Meal recipe
Another famous proof-of-concept by the fabulous Morgan-Mar. It was designed to “appeal to cooks with different budgets”.
As a keen baker, I once tried following the exemplary Hello World! program. The cake didn’t taste so nice. Though that could be a shortcoming on my part.
HAI 1.3 IM IN YR loop UPPIN YR var TIL BOTH SAEM var AN 10 VISIBLE SMOOSH var AN " " MKAY! IM OUTTA YR loop KTHXBYE
Creator: Adam Lindsay
Theme: Internet memes
Lindsay released LOLCODE in 2007, back when he was a research fellow at Lancaster University’s computing department.
The above example code loops and prints from 0 to 9. Its keywords may remind you of LOLcat memes. Precisely because the entire language is drawn from the idiosyncratic vernaculars that often accompany those silly cats’ lolspeak.
For instance, ‘KTHXBYE’ – internet slang to signal a unilateral end to unwanted conversations – terminates the running program. Similarly, the ‘HAI’ keyword is necessary to introduce and specify versions for the program.
That being said, critics note that LOLCODE is no different to “normal” programming languages behind its lulzy syntax. Hence, on this account, it is technically a Weirdlang.
Creator: Urban Müller
Müller is a Swiss engineer and creator of Aminet Archives in 1992. At one time, Aminet served the largest open source software archive on the internet.
Driven by his radical desire for ultra minimalist syntax, brainfuck is one of the weirdest programming languages to date. Offensive too, to the mind, as it takes extraordinary levels of patience. Even to code something as intuitively simple as Hello World! as in the example above.
It was the byproduct of writing a language with the smallest possible compiler for the Amiga OS. Since then, brainfuck has spawned countless equivalents and derivatives in esolangs circles that cleverly alter its semantics.
stranger, i confess i have longstanding problems i'm unprepared for
Creator: Josiah Winslow
Winslow is a computing student at Milwaukee Area Technical College who created this Haikuesque language as a joke.
This is probably my favourite brainfuck derivative. Just so… poetic. And absurdly natural!
The above shows a typical cat program that copies standard input to standard output. Basically, lengths of each word are converted into corresponding numbers. Every number is then in turn associated with a hard-coded instruction.
Bonus points for coding in Haikus. (Not really, but it’s encouraged!)
Shakespeare Programming Language
... ... 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! ... ...
Creators: Jon Åslund & Karl Wiberg
The Finnish developers wanted a way to encode key information in the style of play scripts. And what better way than Shakespearean insults!
Characters are used as programming variables, which are then manipulated through humourous dialogue.
Let’s dissect the offending snippet above:
◉ Hamlet is referring to Romeo as 'You' ◉ followed by 6 adjectives ◉ final word is categorised as +ve or -ve (latter in this case) -> Romeo := 26 * (-1) := -64