10 Programming Languages You Wouldn’t Want To Code In

Ever heard of Chicken, Whitespace and LOLCODE? They are names of bizarre programming languages that surprisingly exist. Programming languages are usually created to ease the coder’s work but there are a few languages that are built to tease the programming community.

These are known as obfuscated or esoteric programming languages (esoteric meaning it’s made only for a small group of people to understand and/or use). They are sometimes called bizzare or scary programming languages as well, for obvious reasons. Take a look at these 10 programming languages to see if you agree.

Taxi

Taxi looks like a roadmap language that road travellers will find easy to understand but not necessarily to code. It is the official programming language of Tiwnsville where the traditional coding language is replaced by a modern map language. Variables, classes or functions are replaced by places or cities in this language.

You map out taxi routes that ferry a passenger from one place to another and you’re required to give instructions about directions, pickups and drop offs. The taxis need fuel to run, hence passengers pay for their rides and you get cash for refuelling your taxi at the gas stations.

Here’s “Hello, World!” in Taxi language:

"Hello, World!" is waiting at the Writer's Depot.
Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left.
Pickup a passenger going to the Post Office.
Go to the Post Office: north 1st right, 2nd right, 1st left.
Go to the Taxi Garage: north 1st right, 1st left, 1st right.

ZOMBIE

ZOMBIE is a programming language designed for necromancers (magic practitioners who talk to the dead). It allows its coders to write code to animate dead bodies, control spirits and solve computable problems through them. It has a guarantee against overwriting system memory and releasing malicious entries onto the Earth.

ZOMBIE comes in the form of entity declarations. In this language, syntax errors are extremely dangerous because demons may escape the CPU and create havoc in the world with incorrect binding commands. Its data values are free format and compatible with standard mathematics rules.

An example for printing “Hello, World!” in ZOMBIE language:

HelloWorld is a zombie
summon
	task SayHello
		say "Hello, World!"
	animate
animate

BIT

BIT is a powerful low-level programming language where the coder gets full access to the entire data in its ASCII implementation. The manipulation of data is less complicated than high-level languages using specialized functions for abstract data types. There are two data types in BIT: bit and address-of-a-bit.

The data values in BIT can be operated using operators and commands. This language is strongly typed (i.e., data is always declared along with its type) and even supports the controversial “GOTO” flow control command. BIT allows any amount of whitespace and line breaks between syntax elements.

An example for printing “Hello, World!” in BIT language:

LINE NUMBER ZERO CODE PRINT ZERO GOTO ONE ONE ZERO ONE
LINE NUMBER ONE CODE PRINT ZERO GOTO ONE ZERO
LINE NUMBER ONE ONE CODE PRINT ZERO GOTO ONE ZERO ZERO ONE ZERO
LINE NUMBER ONE ZERO CODE PRINT ONE GOTO ONE ONE
LINE NUMBER ONE ONE ONE CODE PRINT ONE GOTO ONE ZERO ONE
LINE NUMBER ONE ZERO ONE CODE PRINT ZERO GOTO ONE ONE ZERO
LINE NUMBER ONE ONE ZERO CODE PRINT ONE GOTO ONE ZERO ZERO
LINE NUMBER ONE ZERO ZERO CODE PRINT ONE GOTO ONE ONE ONE ONE
LINE NUMBER ONE ONE ONE ONE CODE PRINT ZERO GOTO ONE ZERO ONE ONE
LINE NUMBER ONE ZERO ONE ONE CODE PRINT ZERO GOTO VARIABLE ONE
LINE NUMBER ONE ONE ZERO ONE CODE PRINT ONE GOTO ONE ONE ONE ZERO
LINE NUMBER ONE ONE ONE ZERO CODE PRINT ZERO GOTO ONE ZERO ZERO ONE
LINE NUMBER ONE ZERO ZERO ONE CODE PRINT ZERO GOTO ONE ZERO ONE ZERO
LINE NUMBER ONE ZERO ONE ZERO CODE PRINT ONE GOTO ONE ONE ZERO ZERO
LINE NUMBER ONE ONE ZERO ZERO CODE PRINT ZERO GOTO ONE ZERO ZERO ZERO
LINE NUMBER ONE ZERO ZERO ZERO CODE PRINT ZERO GOTO ONE ONE ONE ONE ONE
LINE NUMBER ONE ONE ONE ONE ONE CODE PRINT ZERO GOTO ONE ZERO ONE ONE ONE
LINE NUMBER ONE ZERO ONE ONE ONE CODE PRINT ZERO GOTO ONE ONE ZERO ONE ONE
LINE NUMBER ONE ONE ZERO ONE ONE CODE PRINT ONE GOTO ONE ONE ONE ZERO ONE
LINE NUMBER ONE ONE ONE ZERO ONE CODE PRINT ONE GOTO ONE ONE ONE ONE ZERO
LINE NUMBER ONE ONE ONE ONE ZERO CODE PRINT ZERO GOTO ONE ZERO ZERO ONE ONE
LINE NUMBER ONE ZERO ZERO ONE ONE CODE PRINT ZERO GOTO ONE ZERO ONE ZERO ONE
LINE NUMBER ONE ZERO ONE ZERO ONE CODE PRINT ONE GOTO ONE ZERO ONE ONE ZERO
LINE NUMBER ONE ZERO ONE ONE ZERO CODE PRINT ZERO GOTO ONE ONE ZERO ZERO ONE
LINE NUMBER ONE ONE ZERO ZERO ONE CODE PRINT ONE GOTO ONE ONE ZERO ONE ZERO
LINE NUMBER ONE ONE ZERO ONE ZERO CODE VARIABLE ONE EQUALS ONE ONE ONE ZERO ZERO GOTO ONE
LINE NUMBER ONE ONE ONE ZERO ZERO CODE VARIABLE ONE EQUALS ONE ZERO ZERO ZERO ONE GOTO ONE
LINE NUMBER ONE ZERO ZERO ZERO ONE CODE VARIABLE ONE EQUALS ONE ONE ONE ONE ZERO ONE GOTO ONE ONE
LINE NUMBER ONE ZERO ZERO ONE ZERO CODE PRINT ONE GOTO ONE ZERO ONE ZERO ZERO
LINE NUMBER ONE ZERO ONE ZERO ZERO CODE PRINT ONE GOTO ONE ONE ZERO ZERO ZERO
LINE NUMBER ONE ONE ZERO ZERO ZERO CODE PRINT ZERO GOTO ONE ZERO ZERO ZERO ZERO
LINE NUMBER ONE ZERO ZERO ZERO ZERO CODE PRINT ONE GOTO ONE ONE ONE ONE ONE ONE
LINE NUMBER ONE ONE ONE ONE ONE ONE CODE PRINT ONE GOTO ONE ZERO ONE ONE ONE ONE
LINE NUMBER ONE ZERO ONE ONE ONE ONE CODE PRINT ONE GOTO ONE ONE ZERO ONE ONE ONE
LINE NUMBER ONE ONE ZERO ONE ONE ONE CODE PRINT ONE GOTO ONE ONE ONE ZERO ONE ONE
LINE NUMBER ONE ONE ONE ZERO ONE ONE CODE PRINT ZERO GOTO VARIABLE ONE
LINE NUMBER ONE ONE ONE ONE ZERO ONE CODE PRINT ZERO GOTO ONE ONE ONE ONE ONE ZERO
LINE NUMBER ONE ONE ONE ONE ONE ZERO CODE PRINT ZERO GOTO ONE ZEROZERO ONE ONE ONE
LINE NUMBER ONE ZERO ZERO ONE ONE ONE CODE PRINT ONE GOTO ONE ZERO ONE ZERO ONE ONE
LINE NUMBER ONE ZERO ONE ZERO ONE ONE CODE PRINT ZERO GOTO ONE ZERO ONE ONE ZERO ONE
LINE NUMBER ONE ZERO ONE ONE ZERO ONE CODE PRINT ZERO GOTO ONE ZERO ONE ONE ONE ZERO
LINE NUMBER ONE ZERO ONE ONE ONE ZERO CODE PRINT ZERO GOTO ONE ONE ZERO ZERO ONE ONE
LINE NUMBER ONE ONE ZERO ZERO ONE ONE CODE PRINT ZERO GOTO ONE ONE ZERO ONE ZERO ONE
LINE NUMBER ONE ONE ZERO ONE ZERO ONE CODE PRINT ZERO GOTO ONE ONE ZERO ONE ONE ZERO
LINE NUMBER ONE ONE ZERO ONE ONE ZERO CODE PRINT ZERO GOTO ONE ONE ONE ZERO ZERO ONE
LINE NUMBER ONE ONE ONE ZERO ZERO ONE CODE PRINT ONE GOTO ONE ONE ONE ZERO ONE ZERO
LINE NUMBER ONE ONE ONE ZERO ONE ZERO CODE PRINT ONE GOTO ONE ONE ONE ONE ZERO ZERO
LINE NUMBER ONE ONE ONE ONE ZERO ZERO CODE PRINT ONE GOTO ONE ZERO ZERO ZERO ONE ONE
LINE NUMBER ONE ZERO ZERO ZERO ONE ONE CODE PRINT ZERO GOTO ONE ZERO ZERO ONE ZERO ONE
LINE NUMBER ONE ZERO ZERO ONE ZERO ONE CODE PRINT ONE GOTO ONE ZERO ZERO ONE ONE ZERO
LINE NUMBER ONE ZERO ZERO ONE ONE ZERO CODE PRINT ONE GOTO ONE ZERO ONE ZERO ZERO ONE
LINE NUMBER ONE ZERO ONE ZERO ZERO ONE CODE PRINT ONE GOTO ONE ZERO ONE ZERO ONE ZERO
LINE NUMBER ONE ZERO ONE ZERO ONE ZERO CODE VARIABLE ONE EQUALS ONE ZERO ONE ONE ZERO ZERO GOTO ONE ONE
LINE NUMBER ONE ZERO ONE ONE ZERO ZERO CODE PRINT ZERO GOTO ONE ONE ZERO ZERO ZERO ONE
LINE NUMBER ONE ONE ZERO ZERO ZERO ONE CODE PRINT ONE GOTO ONE ONE ZERO ZERO ONE ZERO
LINE NUMBER ONE ONE ZERO ZERO ONE ZERO CODE PRINT ONE GOTO ONE ONE ZERO ONE ZERO ZERO
LINE NUMBER ONE ONE ZERO ONE ZERO ZERO CODE PRINT ONE GOTO ONE ONE ONE ZERO ZERO ZERO
LINE NUMBER ONE ONE ONE ZERO ZERO ZERO CODE PRINT ZERO GOTO ONE ZERO ZERO ZERO ZERO ONE
LINE NUMBER ONE ZERO ZERO ZERO ZERO ONE CODE PRINT ZERO GOTO ONE ZERO ZERO ZERO ONE ZERO
LINE NUMBER ONE ZERO ZERO ZERO ONE ZERO CODE PRINT ONE GOTO ONE ZERO ZERO ONE ZERO ZERO
LINE NUMBER ONE ZERO ZERO ONE ZERO ZERO CODE PRINT ZERO GOTO ONE ZERO ONE ZERO ZERO ZERO
LINE NUMBER ONE ZERO ONE ZERO ZERO ZERO CODE VARIABLE ONE EQUALS ONE ONE ZERO ZERO ZERO ZERO GOTO ONE
LINE NUMBER ONE ONE ZERO ZERO ZERO ZERO CODE PRINT ZERO GOTO ONE ONE ONE ONE ONE ONE ONE
LINE NUMBER ONE ONE ONE ONE ONE ONE ONE CODE PRINT ONE GOTO ONE ZERO ZERO ZERO ZERO ZERO
LINE NUMBER ONE ZERO ZERO ZERO ZERO ZERO CODE PRINT ONE GOTO ONE ZERO ONE ONE ONE ONE ONE
LINE NUMBER ONE ZERO ONE ONE ONE ONE ONE CODE PRINT ZERO GOTO ONE ONE ZERO ONE ONE ONE ONE
LINE NUMBER ONE ONE ZERO ONE ONE ONE ONE CODE PRINT ZERO GOTO ONE ONE ONE ZERO ONE ONE ONE
LINE NUMBER ONE ONE ONE ZERO ONE ONE ONE CODE PRINT ONE GOTO ONE ONE ONE ONE ZERO ONE ONE
LINE NUMBER ONE ONE ONE ONE ZERO ONE ONE CODE PRINT ZERO GOTO ONE ONE ONE ONE ONE ZERO ONE
LINE NUMBER ONE ONE ONE ONE ONE ZERO ONE CODE PRINT ZERO GOTO ONE ONE ONE ONE ONE ONE ZERO
LINE NUMBER ONE ONE ONE ONE ONE ONE ZERO CODE PRINT ZERO GOTO ONE ZERO ZERO ONE ONE ONE ONE
LINE NUMBER ONE ZERO ZERO ONE ONE ONE ONE CODE PRINT ZERO GOTO ONE ZERO ONE ZERO ONE ONE ONE
LINE NUMBER ONE ZERO ONE ZERO ONE ONE ONE CODE PRINT ONE GOTO ONE ZERO ONE ONE ZERO ONE ONE
LINE NUMBER ONE ZERO ONE ONE ZERO ONE ONE CODE PRINT ZERO GOTO ONE ZERO ONE ONE ONE ZERO ONE
LINE NUMBER ONE ZERO ONE ONE ONE ZERO ONE CODE PRINT ZERO GOTO ONE ZERO ONE ONE ONE ONE ZERO
LINE NUMBER ONE ZERO ONE ONE ONE ONE ZERO CODE PRINT ZERO GOTO ONE ONE ZERO ZERO ONE ONE ONE
LINE NUMBER ONE ONE ZERO ZERO ONE ONE ONE CODE PRINT ZERO GOTO ONE ONE ZERO ONE ZERO ONE ONE
LINE NUMBER ONE ONE ZERO ONE ZERO ONE ONE CODE PRINT ONE

Unlambda

Unlambda is a language mix of obfuscated and functional programming paradigms. In this language, everything is a function – even the data. It removes various crucial features: there is no way to store data or have variables and moreover, you can create functions but can’t name or save them. Oops.

Unlambda works only with functions: each function takes exactly one another function as an argument and returns just one yet another function. It does allow working with data structures and the like, but you must represent them as ad-hoc functions (everything is a function, after all).

An example for printing “Hello, World!” in Unlambda language:

```s``sii`ki
``s``s`ks
``s``s`ks``s`k`s`kr
``s`k`si``s`k`s`k
`d````````````.H.e.l.l.o.,. .W.o.r.l.d.!
k
k
`k``s``s`ksk`k.*

Java2K

Java2K is a probabilistic language that works on the nature of the universe: “there is never absolute security, there is always only probability.” It doesn’t do whatever you intend for it to do; even the built-in functions work weird. However, it does source-code level checking for security and the language uses an 11-based number system – counting up to 9 and including 10.

The program always consists of 2 arguments – even if you need just one. There are two types of numbers: names of the objects and integer values. For every function in Java2K, there are various implementations and any of them is chosen randomly at the runtime. It has a number of restrictions on valid keywords and functions, and the language even offers a garbage collector to auto-release memory.

An example for printing “Hello, World!” in Java2K language:

1 1 /125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2
/*/_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2
/*/_\/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\
\\\\\\\/*\1 1 /125 /119 /11 6/*/_\/13 2/*/_\\/
125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\
/125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_
\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_
\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_
\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_
\/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\
\\\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\
\\\\\\\/*\1 1 /125 /131 /119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\\/125 /131 /119 /125 /11 6/*/
_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/
_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\\\/125 /131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/
_\/125 /13 2/*/_\/_\\\\\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_
\/125 /13 2/*/_\/_\\\\\\\\\\/*\1 1 /125 /131 /
119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\/125 /
131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\\/
125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\
\\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\\
\\\\\\/*\1 1 /125 /119 /11 6/*/_\/13 2/*/_\\/
125 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\
/125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_
\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_
\/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\
\\/125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*
/_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*
/_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*
/_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*
/_\/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_
\\\\\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/
_\/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\
\\\\\\\\\\\/*\1 1 /125 /131 /119 /125 /11 6/*/_
\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\\/125 /131 /119 /125 /11 6/*/
_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/
_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\\\/131 /119 /125 /11 6/*/_\/
_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\/
_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\/
_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\/
_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\\\\\\\/*\1 1 /131 /119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\\\\\/*\1 1 /125 /
119 /11 6/*/_\/13 2/*/_\\/125 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/125 /131 /119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\\/125 /131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\\\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /125 /
11 6/*/_\/_\/125 /13 2/*/_\/_\\\\\\\\\\\/*\
1 1 /125 /119 /11 6/*/_\/13 2/*/_\\/125 /119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/125 /131 /
119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\/125 /
131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\\/
125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\
\\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\\
\\\\\\\\/*\1 1 /125 /119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\/125 /131 /119 /125 /11 6/*/_
\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_
\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_
\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\\\\/125 /131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/
*/_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/
_\/125 /13 2/*/_\/_\\\\\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*
/_\/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_
\/125 /13 2/*/_\/_\\\\\\\\\\/*\1 1 /125 /131 /
119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/119 /
125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\/125 /
131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\/
119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\\/
125 /131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\
/_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\
\\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/131 /119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/
_\\/119 /125 /11 6/*/_\/_\/125 /13 2/*/_\/_\\\\
\\\\\\/*\1 1 /125 /131 /119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/125 /
13 2/*/_\/_\\\/125 /131 /119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\/_\
/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\\\\\/131 /119 /125 /11 6/*/_\
/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\
/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\
/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\
/_\/125 /13 2/*/_\/_\\/131 /119 /125 /11 6/*/_\
/_\/125 /13 2/*/_\/_\\/119 /125 /11 6/*/_\/_\/
125 /13 2/*/_\/_\\\\\\\\\/*\

Deadfish

Deadfish is an odd interpreted language, which was originally programmed in just few hours using the C language. Deadfish has just 4 commands in total: all for outputting things but none for inputting things (I did say it was odd). The language is case-sensitive, and it can deal only with integer values while adding or subtracting.

Its standard shell doesn’t accept anything that’s not a command. However, there is no way of catching or reporting errors at runtime, and the shell simply prints a newline for any error. Its name “Deadfish”, was given because programming in this language feels as unpleasant as eating rotten dead fishes.

An example for printing “Hello, World!” in Deadfish language:

iisiiiisiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiooiiio
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
dddddddddddddddddddddsddoddddddddoiiioddddddoddddddddo

Emmental

Emmental is a self-modifying programming language defined by a meta-circular interpreter. It’s a stack-based language with just 13 instructions and its stack may only contain ASCII characters. Though not supported directly, conditional branching can be done in this language using the eval instruction ‘?’.

Though Emmental may look alien compared with other obfuscated languages, its English semantics make things less troublesome than other such languages. You can do primitive arithmetic, stack and queue manipulation (yes, it has got one queue too) and much more using Emmental language.

An example for printing “Hello, World!” in Emmental language:

;#58#126#63#36!;#46#36#!;#0#1!;#0#2!;#0#3!;#0#4!;#0#5!;#0#6!;#0#7!#0#33#100#108#114#111#119#32#44#111#108#108#101#72$

Whenever

Whenever is a language without any urgency or execution sequence: it does things whenever it feels like it and not per the sequence specified by the programmer. Just think of what will happen if a mail to your boss is sent before/without checking for spelling mistakes. Yes, that nightmare you just dreamt up is what you get with Whenever.

Whenever doesn’t “believe” in variable or data structures because it doesn’t care for program sequence. However, it does provide constructs to reassign things if a particular line of code have a prerequisite that’s not yet prepared. Unlike a few other languages, it does support strings and compound statements.

An example for printing “Hello, World!” in Whenever language:

1 print("Hello, World!");

INTERCAL

INTERCAL (aka Compiler Language With No Pronounceable Acronym) is a language that criticizes various languages at the same time. INTERCAL makes things absurd for programmers with construct statements like ‘PLEASE’, ‘FORGET’, ‘IGNORE’ and more. The coder must use ‘PLEASE’ often enough else the program is considered impolite and the compiler reports the same as an error. (It’s not programming unless there is an element of torture for some.)

INTERCAL was developed completely different from other programming languages. However, unlike other obfuscated languages like Unlambda and Deadfish, it does offer lots of data structures, operators and control structures. And yet, at the end of the day, these do not reduce its complexity.

An example for printing “Hello, World!” in INTERCAL language:

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

Orthogonal

Orthogonal is an uncommon programming language in which the flow can go in any direction your wish. It’s a proof-of-concept experiment with a working interpreter. Its environment consists of two objects: the grid and the stack. The grid is the same as an array and a stack is a well-known one-dimensional entity.

Orthogonal, unlike various computer languages, is a 2-dimensional language and its instruction set falls into three categories: operators, directives and others. The language offers much more help to the coders than BIT, Deadfish and a few others. Moreover, it also supports data values and variables.

An example for printing “Hello, World!” in Orthogonal language:

0 'd' 'l' 'r' 'o' 'w' ' ' ',' 'o' 'l' 'l' 'e' 'h' s 0 c 0 ret

Do you dare to write programs in these obfuscated programming languages? Which is your favorite bizzare language and why? Do tell your answers using the comments section below.

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenEmail