5 of the Weirdest and Hardest Programming Languages
Programming languages aren't always built to be easy. Software has usually gotten easier to write, but these languages were written to be hard on purpose.
Join the DZone community and get the full member experience.Join For Free
Programming languages, although difficult, are often created with the intent of making it easy to program something that is useful. However, there are programming languages out there that have the sole intent of making your life harder, or potentially even miserable. Below are some of the best 'worst' and weirdest programming languages around.
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.'
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 are 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.
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
(+[!]+[+(+!++(!++)[!++!++!+]+(+!+)+(+)+(+)+(+))])[+!++[+]] // Returns y (!+)[+!!] // Returns a !++!++!++!++!++!++!++!++!+ // Returns 9
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 written in pure Malbolge. An example of how to say Hello World in Malbolge is shown below:
Published at DZone with permission of Johnny Simpson, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.