A Hello World program:
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
What it is
LOLCODE is probably what a programming language designed by lolcats would look like. Silly and unusable, it has loops like "IM IN YR LOOP - IM OUTTA YR LOOP" and conditionals like "IZ - YARLY - NOWAI - KTHX". It has plenty of fan-written interpreters and compilers.
A Hello World program:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
What it is
Brainf*ck is the classic "Turing tarpit" - a programming language with very few instructions. Those languages are extremely hard to read, and so simple that it's hard to believe that they can do anything that other languages can do. The language has only 8 instructions - 2 that select values, 2 that increment or decrement them, 2 for input and output, and 2 that mark loops. That's it. No variables, multiplication, or even addition. You need a loop to add two values, and a complicated nested loop to multiply them. Despite this, someone actually wrote a prime factorization program in Brainf*ck - about 4,000 characters in length.
A Hello World program:
<,_@#:
What it is
Befunge is similar to Brainf*ck in that each character represents an instruction (although it has more instructions, making it somewhat easier). The big difference lies in the fact that it is two-dimensional. It can be read horizontally or vertically in either direction, and that direction frequently changes. Whenever it encounters the characters ^<>v, it changes its direction. The code can also change itself - this makes it very difficult to compile or follow.
A Hello World program:
PLEASE DO ,1 <- #13
DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #112
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #238
DO ,1 SUB #7 <- #26
DO ,1 SUB #8 <- #248
DO ,1 SUB #9 <- #168
DO ,1 SUB #10 <- #24
DO ,1 SUB #11 <- #16
DO ,1 SUB #12 <- #158
DO ,1 SUB #13 <- #52
PLEASE READ OUT ,1
PLEASE GIVE UP
What it is
Intercal is short for "Compiler Language With No Pronounceable Acronym". It was designed as a parody of other languages, and designed to be as hard to program in as possible (but it is nothing compared to the next one). Instead of "GO TO" statements, it has "COME FROM" statements. The only operators present are unary and binary operators, meaning no simple addition or multiplication. As the documentation says, "Please be kind to our operators: they may not be very intelligent, but they're all we've got." Programs will not work if they're not polite enough, so you have to occasionally precede statements with "please".
A Hello World program:
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCAA@986543W10/.R,+O<
What it is
This is the hardest language to program in, hands down. Using it is more like cracking a code than writing a program. The meaning of every character depends on its position and the preceding characters. All variables are in ternary. The only operation is the "crazy" operation, which changes a number using a seemingly random table of values. Accomplishing anything in this language is a programming nightmare. To write a "Hello World" program, one programmer had to use a genetic algorithm that worked for hours before making a program that wrote "HEllO WORld" - that was the best it could do. It took a cryptanalyst to find "encryption weaknesses" - ways to make an instruction change in a predictable way - to finally make it possible to write simple programs in Malbolge.