How hard is it to learn programming? If you are a beginner in the programming world, that is one of the most common questions that you will have in your head. Among them, the programming language you use for coding is the most important one.

When we all are talking about c, c++, Java, Python, etc. there are some languages that are not only difficult but are almost incomprehensible for most software developers. Actually there are some programming languages in the world where you need to write your code using some commands or syntax which is neither readable nor understandable.
In this article I will share some most difficult programming languages that will give you nightmares if you try learning them. These languages are called esoteric programming language (or esolang). These are not meant for development purpose and are popular among hackers and hobbyists.

Here is a list of the five most difficult esoteric languages. I tried executing the ‘Hello World!’ program in each of these languages, and it is fun.
1. Cow programming language
Yes, you heard right. The Cow is a real programming language that was created in 2003. Once you see the hello world code, you will realize why the language was named ‘COW’.
This language consists of 12 instructions and the funniest thing about this language is the keyword ‘moo’ (sound of a cow) or it’s variations used in this language. This is a case-sensitive language, and anything other than those instructions is considered a comment and ignored in this language.
Example: Hello World! Program
MoO MoO MoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO
MoO MoO moO MoO MoO MoO MoO mOo mOo mOo mOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO moO MOo moo mOo MOo MOo MOo Moo MoO MoO
MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo MMM mOo mOo mOo MoO MoO MoO MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moo moO moO MoO
MoO MoO MoO MoO MoO MoO MoO Moo MMM MMM Moo MoO MoO MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo mOo MoO Moo
2. Malbolge
Malbolge was invented in 1998 by Ben Olmstead. This esolang is considered to be the most complicated programming language. Malbolge is a public domain esoteric programming language and considered as one of the hardest programming languages in the world. Fun fact is two years were taken to the first Malbolge program.
Example: Hello World! Program
(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
3. Whitespace
This language was introduced by Edwin Brady and Chris Morris on 1st April 2003 (April fools day). The program is made up of spaces, tabs and linefeeds. All other non-whitespace characters are ignored by its interpreter. To write a “Hello World” program in Whitespace requires 950 instances of spaces, tabs, and linefeeds.
Whitespace is an imperative stack-based language, and the virtual machine which the programs run on has a stack and a heap.
Example: Hello World! Program
In the below code, each Space, Tab, or Linefeed character is preceded by a comment ‘S’, ‘T’, or ‘L’, respectively.
S S S T S S T S S S L
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 S 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
4. Brainfuck
It was created in 1993 by Urban Müller. As the name suggests, you will get brain fuck if you try to learn it. The languages consists of only eight commands and the program is made using these commands. The original compiler developed by Muller used only 296 bytes. Brainfuck language operates in an array of memory cells. The main purpose of using this language for programming is to write minimal lines of code.
Example: Hello World! Program
+[-[<<[+[--->]-[<<<]]]>>>-]>-.---.>..>.<<<<-.<+.>>>>>.>.<<.<-.
5. Intercal
The programming language was created by Don Woods and James Lyon in 1972 when they were students at Princeton University. The initial name given to it was— ‘Compiler Language With No Pronounceable Acronym’. This language doesn’t have any pronounceable acronym. Creators of this programming language included keywords like Read out, Ignore, Please, Forget, and likewise to make this language user-friendly.
The funny thing is that if your code does not have enough Please keywords, the code will not be considered polite and it will show an error message and refuse to run. INTERCAL has many features designed to make it frustrating for the programmer.
Example: Hello World! Program
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

Leave a Reply