Top 6 wackiest programming languages: TrumpScript et al.
Abstract background to the novel Alice in Wonderland image via Shutterstock
There is one massive misconception about programmers —that they can’t have fun. How else can we explain TrumpScript, LOLCODE, Chef, Shakespeare, Whenever and Malbolge?
Esoteric programming languages are meant to test the boundaries of language design, but this is what happens when you add Donald Trump, cats, recipes and Shakespeare’s sonnets to programming languages: your error messages say “I’m really rich, part of the beauty of me is I’m very rich”, LOLCats rule your code, source code has rhymes and a hint of tragedy and the language basically does what it wants, when it wants or it looks like a cooking recipe.
TrumpScript: “We hope our efforts will make programming great again”
TrumpScript is a language inspired by the life and quotes of the U.S. presidential candidate Donald Trump. Four Rice University students decided that “the current field of programming languages does not include any that Trump’s glorious golden combover would approve of” and designed something worthy of a presidential candidate during a 36-hour hackathon. Here are some of TrumpScript’s features:
- All numbers must be strictly greater than 1 million. The small stuff is inconsequential to us.
- There are no import statements allowed. All code has to be home-grown and American made.
- Instead of
False, we have
- Error messages are mostly quotes directly taken from Trump himself.
- All programs must end with
America is great.
- Our language will automatically correct Forbes’ $4.5B to $10B.
- In its raw form, TrumpScript is not compatible with Windows, because Trump isn’t the type of guy to believe in PC.
LOLCODE: Lolspeak is real
Adam Lindsay, a researcher at Lancaster University’s Computing Department invented LOLCODE nearly 10 years ago. This esoteric programming language stems from the LOLCats phenomenon and uses LOLCats syntax to function properly. You will surely ignore all its shortcomings the second you look at the ‘Hello World!’ code.
HAI 1.2 CAN HAS STDIO? VISIBLE "HAI WORLD!!!1!" KTHXBYE
Shakespeare: The infamous Hello World program
This programming language was created with the goal to make the source code resemble Shakespeare plays. Jon Aslund and Karl Hesselstörm are the designers behind Shakespeare, a language which doesn’t look like one. Variables must be named after Shakespeare’s characters and constants are decided by positive or negative nouns.
Here is a small part of the source code:
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]
“To be or not to be?”
Whenever: Can you handle it?
Make no mistake —this programming language does what it wants, when it wants. According to the project description, it has “no sense of urgency. It does things whenever it feels like it, not in any sequence specified by the programmer.” Data structures are overrated, and so are variables. Program code lines are always executed (eventually), but the order doesn’t have to bear any resemblance to the order in which they are specified. Although it has no flow control functionality and no variables, it does consist of some specialized statements to deal with the unpredictable nature of the execution environment.
Chef: Hello World Soufflé
If you’re a closet masterchef, this is your chance to mix pleasure with business. Chef looks like a cooking recipe; the ingredients hold individual data values. All ingredients are numerical, though they can be interpreted as Unicode for I/O purposes. Liquid ingredients will be output as Unicode characters, while dry or unspecified ingredients will be output as numbers.
In short, the output must be tasty and easy to prepare, recipes are for people with different budgets and they must be metric. Here is the source code for ‘Hello World!’:
Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.
Malbolge: Programming from hell
This programming language was created by Ben Olmstead in 1998 with the idea that programming should be hard. Malbolge was named after Dante’s Ninth Circle of Hell and was designed (you guessed it!) to be almost impossible to program it.
Warning: Malbolge was created using an algorithm, so don’t feel bad if you find it nightmarish. Don’t believe it? Here is the source code for ‘Hello World!’: