7 years ago

Esolangs


Esolangs is a short name for “esoteric language”.

Esolangs are pretty much of a joke and never meant to be used to solve actual programming problems. Where C is actually meant to adequately write software solutions and algorithms, esolangs should be able to do the same, but in a rather joke-like environment, far from efficient or helpful.

The challenge with these languages is to actually get a program running.

The oldest Esolang is believed to be created by these two gentlemen:

5d090b989a0b6.jpg
5d090b9903b47.jpg

And the name is “Compiler Language With No Pronounceable Acronym” which is for “obvious” reasons abbreviated as “INTERCAL”.

INTERCAL satirizes the classic way of programming and was therefore set up to do things entirely different. And that’s why they came up with THIS message on their official website:

Abandon All Sanity, Ye Who Enter Here
So, you think you’ve seen it all, eh?
OK. You’ve coded in C. You’ve hacked in LISP. Fortran and BASIC hold no terrors for you. You write Emacs modes for fun. You eat assemblers for breakfast. You’re fluent in half a dozen languages nobody but a handful of übergeeks have ever heard of. You grok TECO. Possibly you even know <shudder> COBOL.
Maybe you’re ready for the ultimate challenge…INTERCAL.
INTERCAL. The language designed to be Turing-complete but as fundamentally unlike any existing language as possible. Expressions that look like line noise. Control constructs that will make you gasp, make you laugh, and possibly make you hurl. Data structures? We don’t need no steenking data structures!
INTERCAL. Designed very early one May morning in 1972 by two hackers who are still trying to live it down. Initially implemented on an IBM 360 running batch SPITBOL. Described by a manual that circulated for years after the short life of the first implementation, reducing strong men to tears (of laughter). Revived in 1990 by the C-INTERCAL compiler, and now the center of an international community of technomasochists.
INTERCAL. Now you, too, can be a part of the madness.

Well that intro makes you fear for the worst and the worst you’ll get.

“Hello World” looks like this in INTERCAL:

		
			DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP
		
	

Yeah, not a chance it’s worth the trouble to figure that one out. It’s maybe the only programming language that obligates the coder to say “PLEASE” a lot, as it hates rude coders, but don’t go overkill as the compiler hates people who are overly polite as well. You shouldn’t suck up, after all!

Another nice esolang to mention is Brainfuck, created by Urban Müller, originally for the Commodore AMIGA. Müller’s goal with Brainfuck was to create a turing-complete programming language of which the compiler had to be as small as possible. The first version was 292 bytes only, and version #2 was 240 bytes. It is said that the smallest Brainfuck compiler is only 100 bytes. The language was never meant to be useful, it was just a challenge if you could make a language that small, and yet still able to perform any mathematics task a computer can perform and Brainfuck is, odd as it may seem able to do just that.

Hello World looks like this in Brainfuck:

		
			++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
		
	

Like the name suggests, it’s really an attack onto your brain to code with Brainfuck, but some coder’s do have it on their bucket list to write a program in it.

A few more esolangs to mention. Shakespeare, a programming language which translates programs into C. The code written in Shakespeare, has to look like a Shakespearean play.

Whitespace is a programming language create by “outraged” programmers who felt it was a disgrace most compilers ignore whitespaces while they are perfectly usable characters, so Whitespace only reads spaces, tabs and enters.

The programming language “Piet” was named after the Dutch painter Piet Mondriaan, and is supposed to make code look like a painting by the famous Dutch master.

A really nice one is Chef by David Morgan-Mar, supposed to make code look like a cooking recipe. It was jokingly stated that if you’d make the actual “Hello World” program you’d get a lot of food for a lot of people. Somebody DID actually take on the challenge to write a program in Chef in a way that it could be used as an actual cooking recipe, and said afterward that the chocolate cookies you’d get from that Chef program were delicious.

And yes, I too created an esolang. It’s called “SPAM”. As a (former) Game Jolt moderator I sometimes had to clean up countless amounts of spam, and when it was really terrible I wrote this language out of frustration over this phenomenon. Who dares to try to get an actual working program in it?

Well in the end, esolangs were never meant to be serious, but they can be very nice in order to challenge your own coding skills. Esolangs may be nothing but nonsensical junk, and be meant to be that way, coding in one can really take the joke away from you soon as it’s very very hard. Care to try?



4 comments

Loading...

Next up

Why do people wanna be a #moderator? Is it really such a #cooljob?

Celebrities (almost) killed by one of their biggest fans

BallPlay future

Current situation on TFT REVAMPED

Can you see why this pyramid deal could never be solved from the start (regardless what the already removed cards are)?

Disney Princesses go to Hogwarts

Game redo on Cynthia Johnson

A #phrase of #wisdom from the French scientist and philosopher #BlaisePascal Two stories, the one tied to this game (new version), and a prequel novel based on this game have this quote. Perhaps you understand why....

Killing only brings you so far!

A few facts and fables about fire.