Misc

The Weirdest and Hardest Programming Languages

📣 Sponsor

Programming languages, although difficult, are often created with the intent of making it easy to programme something that is useful. However, there are programming languages out there that have the sole intent of making your life harder, or potentially even a misery. Below are some of the best 'worst' and weirdest programming languages about.

Piet

Piet is a programming language made using colors. That means you have to create a small bitmap image that is converted into code your computer can understand. The code works by judging the difference between colors, in order to determine the action to take. Below is an example in Piet of how to say 'Hello World'.

Image of what Piet looks like as a programming language

Shakespeare

Shakespeare is a language intended to make your code look like a Shakespearean play. We can use go-to statements like 'let us proceed' to move between different lines of code. There is even if statements, using keywords like 'if so'. A typical piece of Shakespearean programming language looks like this:

Variable, Definition Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. Juliet: Am I better than you? Hamlet: If so, let us proceed to scene III.

Whitespace

Everyone who has ever coded has been annoyed with how others have used whitespace. I've probably wasted days of my life lining up code where the tabs and indents didn't make any sense. If whitespace annoys you too, then you are going to hate the whitespace programming language, which only uses whitespaces of different lengths and types to code. To give you a flavour of what that looks like, the below code (which I found online) will print 'Hello World'. In the real code, there would be no S (space), T (tab) or L (linefeed) characters, but they are here to help you understand what is going on:

T L S S S S S T T S S T S T L T L S S S S S T T S T T S S L T L S S S S S T T S T T S S L T L S S S S S T T S T T T T L T L S S S S S T S T T S S L T L S S S S S T S S S S S L T L S S S S S T T T S T T T L T L S S S S S T T S T T T T L T L S S S S S T T T S S T S L T L S S S S S T T S T T S S L T L S S S S S T T S S T S S L T L S S S S S T S S S S T L T L S S L L L

JSF*ck

JSF*ck is a language that works in Javascript, but only uses square and round brackets, exclamation marks and the plus symbol. It kind of reminds me of trying to learn RegExp, if RegExp knowledge was required to do anything in a language. What's more, JSF*ck is valid Javascript, so you can even run this in a regular programme. Here are some examples of how complicated this can get:

(+[![]]+[+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+(+!+[])+(+[])+(+[])+(+[]))])[+!+[]+[+[]]] // Returns y (![]+[])[+!![]] // Returns a !+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[] // Returns 9

Malbolge

Malbolge was designed to be one of the most difficult programming languages to learn, and almost impossible to use. In fact, when Malbolge was created, even the creator had not produced a program with it. Most of the code in Malbolge is generated using other languages, although some scripts have been writtein in pure Malbolge. An example of how to say Hello World in Malbolge is shown below:

(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
Last Updated 1611607426274

More Tips and Tricks for Misc

Subscribe for Weekly Dev Tips

Subscribe to our weekly newsletter, to stay up to date with our latest web development and software engineering posts via email. You can opt out at any time.

Not a valid email