Monday, May 23, 2016

World’s five most difficult progamming languages to learn

Here are five programming languages which are very difficult to learn and could give seasoned coders headaches



While we and other websites have been reporting the world’s easiest languages to learn programming, there is another part of difficult languages which can make life hell for wannabe coders. Yes, there are programming languages which could drive you nuts.
We all started programming by writing codes in programming languages such as Java, C, C++ etc. Our peers and seniors used a little bit more difficult languages like Pascal, Fortran, COBOL etc. Compared to C++ or Java, you will wholeheartedly agree that Pascal and Fortran posed serious challenges to your brain and caused you to pull the hair off your head.
However, compared to them some programming languages are so written that it takes more than pulling your hair off.  Such programming languages that take difficulty to the God level and are known as esoteric programming languages.  Most of these esoteric programming languages are created to to either test the boundaries of how far programming language design can go or as a joke.
Most never make it beyond the developer’s system and you may never get to hear them. But here are the five that would push your brains to the limit.

Brainfuck

This language is a difficult as the name suggests. Brainfuck was invented by Urban Müller in 1993, in an attempt to make a language for which he could write the smallest possible compiler for the Amiga OS, version 2.0.
Brainfuck operates on an array of memory cells, also referred to as the tape, each initially set to zero. There are only 8 commands in the language
The 8 Commands are ><+-.,[]
A simple ‘Hello world’ code looks like this
1++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
2 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

COW

Yes. Cow as in Cow with four legs. The COW programming language was designed with the bovine in mind. Given that cows have somewhat limited vocabulary skills, it seemed natural to incorporate only the words they know into the language. As a result, all instructions are some variation on “moo” which just so happens to be the only word they really understand.
Any other word or symbol that isn’t an instruction is ignored entirely. So, spaces can be used or not. Newlines can be used or not. You get the idea. It makes commenting COW programs rather easy as long as you don’t use any words that have an instruction embedded in it.
01MoO 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
02 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
03 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
04 MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
05 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
06 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
07 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
08 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
09 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
10 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
11 OOO 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

INTERCAL

The Compiler Language With No Pronounceable Acronym, abbreviated INTERCAL. Expressions that look like line noise. Control constructs that will make you gasp, make you laugh, and possibly make you hurl.
INTERCAL has many other features designed to make it even more aesthetically unpleasing to the programmer: it uses statements such as “READ OUT”, “IGNORE”, “FORGET”, and modifiers such as “PLEASE”. This last keyword provides two reasons for the program’s rejection by the compiler: if “PLEASE” does not appear often enough, the program is considered insufficiently polite, and the error message says this; if too often, the program could be rejected as excessively polite.
01DO ,1 <- #13
02PLEASE DO ,1 SUB #1 <- #238
03DO ,1 SUB #2 <- #108
04DO ,1 SUB #3 <- #112
05DO ,1 SUB #4 <- #0
06DO ,1 SUB #5 <- #64
07DO ,1 SUB #6 <- #194
08DO ,1 SUB #7 <- #48
09PLEASE DO ,1 SUB #8 <- #22
10DO ,1 SUB #9 <- #248
11DO ,1 SUB #10 <- #168
12DO ,1 SUB #11 <- #24
13DO ,1 SUB #12 <- #16
14DO ,1 SUB #13 <- #162
15PLEASE READ OUT ,1
16PLEASE GIVE UP

Whitespace

It was released on 1 April 2003, most people thought it was an April Fool’s joke, but it wasn’t. As you can guess, in the Whitespace language, only spaces, tabs and linefeeds have meaning. The Whitespace interpreter ignores any non-whitespace characters. An interesting consequence of this property is that a Whitespace program can easily be contained within the whitespace characters of a program written in another language.

Chef

Chef is a stack-based language where programs look like cooking recipes.
According to the Chef Home Page, the design principles for Chef are:
  • Program recipes should not only generate valid output, but be easy to prepare and delicious.
  • Recipes may appeal to cooks with different budgets.
  • Recipes will be metric, but may use traditional cooking measures such as cups and tablespoons.
Hello world looks like this!
01Ingredients.
0272 g haricot beans
03101 eggs
04108 g lard
05111 cups oil
0632 zucchinis
07119 ml water
08114 g red salmon
09100 g dijon mustard
1033 potatoes
11
12Method.
13Put 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.
14
15Serves 1.

No comments:

Post a Comment