Jump to content

What are your favourite esoteric programming languages?

LukeTim

Mine have to be Chicken, a language where the only valid symbol you can use is "chicken" and you provide instructions by writing "chicken" a specific number of times on each line.

Here is an implementation of Hello World:

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chickenchicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chickenchicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chickenchicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chickenchicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chickenchicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken chicken chicken chicken chicken chicken

 

And here is a Javascript implementation of its interpreter:

function chicken(CHICKEN, Chicken) {    Chicken &&( chicken. chicken =[,    CHICKEN, CHICKEN = Chicken = chicken.    $Chicken =-( CHICKEN ==( chicken.    Chicken = Chicken ))], chicken.    chicken [Chicken++] = chicken. chicken, chicken.    CHICKEN = ++Chicken, chicken (--Chicken), chicken.    $Chicken = ++Chicken, chicken. CHICKEN++ );    Chicken = chicken. Chicken [chicken.    $Chicken++ ]; chicken. Chicken = CHICKEN? Chicken?    '\012'== Chicken? chicken (++ CHICKEN, chicken.    chicken [++ chicken. CHICKEN ]=    CHICKEN - CHICKEN ): Chicken    ==' '|'\015'== Chicken ||    (Chicken   )== "c" &  chicken. Chicken [chicken.    $Chicken++ ]== "h" &  chicken. Chicken [chicken.    $Chicken++ ]== "i" &  chicken. Chicken [chicken.    $Chicken++ ]== "c" &  chicken. Chicken [chicken.    $Chicken++ ]== "k" &  chicken. Chicken [chicken.    $Chicken++ ]== "e" &  chicken. Chicken [chicken.    $Chicken++ ]== "n"&&++chicken. chicken [chicken.    CHICKEN]? chicken (CHICKEN)    :[ "Error on line "+CHICKEN+": expected 'chicken'",       chicken. CHICKEN = CHICKEN ++- CHICKEN ]:    chicken. chicken  CHICKEN = chicken.    Chicken[chicken.CHICKEN], Chicken? (Chicken =    --Chicken? --Chicken? --Chicken? --Chicken? --Chicken?    --Chicken? --Chicken? --Chicken? --Chicken?    chicken. CHICKEN++ &&    --Chicken :''+CHICKEN+';': chicken.    Chicken [chicken. Chicken [-- chicken. CHICKEN ]&&    (chicken. $Chicken += CHICKEN), --chicken.    CHICKEN ]: chicken. Chicken [chicken.    Chicken [CHICKEN] = chicken. Chicken    [-- chicken. CHICKEN ],-- chicken. CHICKEN ]:    chicken. Chicken [chicken. Chicken [chicken.    $Chicken++ ]] [CHICKEN]: CHICKEN == chicken.    Chicken [-- chicken. CHICKEN ]:    CHICKEN*chicken. Chicken [-- chicken.    CHICKEN ]: chicken. Chicken [-- chicken.    CHICKEN ]- CHICKEN: chicken. Chicken [-- chicken.    CHICKEN ]+ CHICKEN: chicken.    CHICKEN ++ && "chicken", chicken.    Chicken [chicken. CHICKEN ]= Chicken, chicken    ()): CHICKEN );    return chicken.    Chicken} 

 

I just love chicken for the sheer stupidity of it. I think it's hilarious.

 

And my other favourite is Shakespeare, which is a language designed so that any program written in it reads as though it is a shakespearean play.

 

It is a fascinating language. Your variables are represented as the characters in your play. You have to invoke them before you can use them by declaring that they have entered the stage, and then they have to interact with each other by "talking" to each other in order to change their values. You can assign a value by having one character/variable describe another. Negative descriptors are equal to -1 and positive descriptors are equal to +1. Then you use similies to assign a character some other character's value. You can use words like product, difference, square root etc. to do arithmetic. You can even have comparisons and jump conditions. It really is amazing.

Anyway, here is an implementation of Hello World:

Romeo, a young man with a remarkable patience.Juliet, a likewise young woman of remarkable grace.Ophelia, a remarkable woman much in dispute with Hamlet.Hamlet, the flatterer of Andersen Insulting A/S.                   Act I: Hamlet's insults and flattery.                   Scene I: The insulting of Romeo.[Enter Hamlet and Romeo]Hamlet:You lying stupid fatherless big smelly half-witted coward! You are asstupid as the difference between a handsome rich brave hero and thyself!Speak your mind!You are as brave as the sum of your fat little stuffed misused dustyold rotten codpiece and a beautiful fair warm peaceful sunny summer'sday. You are as healthy as the difference between the sum of thesweetest reddest rose and my father and yourself! Speak your mind!You are as cowardly as the sum of yourself and the differencebetween a big mighty proud kingdom and a horse. Speak your mind.Speak your mind![Exit Romeo]                   Scene II: The praising of Juliet.[Enter Juliet]Hamlet:Thou art as sweet as the sum of the sum of Romeo and his horse and hisblack cat! Speak thy mind![Exit Juliet]                   Scene III: The praising of Ophelia.[Enter Ophelia]Hamlet:Thou art as lovely as the product of a large rural town and my amazingbottomless embroidered purse. Speak thy mind!Thou art as loving as the product of the bluest clearest sweetest skyand the sum of a squirrel and a white horse. Thou art as beautiful asthe difference between Juliet and thyself. Speak thy mind![Exeunt Ophelia and Hamlet]                   Act II: Behind Hamlet's back.                   Scene I: Romeo and Juliet's conversation.[Enter Romeo and Juliet]Romeo:Speak your mind. You are as worried as the sum of yourself and thedifference between my small smooth hamster and my nose. Speak yourmind!Juliet:Speak YOUR mind! You are as bad as Hamlet! You are as small as thedifference between the square of the difference between my little ponyand your big hairy hound and the cube of your sorry littlecodpiece. Speak your mind![Exit Romeo]                   Scene II: Juliet and Ophelia's conversation.[Enter Ophelia]Juliet:Thou art as good as the quotient between Romeo and the sum of a smallfurry animal and a leech. Speak your mind!Ophelia:Thou art as disgusting as the quotient between Romeo and twice thedifference between a mistletoe and an oozing infected blister! Speakyour mind![Exeunt] 

 

Shakespeare is a favourite because it's so unique and such a fascinating/ingenious solution... to the problem of making it look like something other than a program.

 

Anyway, those are two of my favourites. I know there are tons of others out there (like, Chef, Whitespace, Brainf**k etc.)... do you have any favourites?

Link to comment
Share on other sites

Link to post
Share on other sites

Amusing; also the thought of adding a couple as a speciality to ones CV  :lol:

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

Whitespace is interesting from the point of view of hiding it in the source code of another program.

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

Shakespeare is awesome, I had never heard of it.

 

I wrote a Brainfuck interpreter when I was in high school because I found it so fun to write code in. So I'll go with that. :P

LOLCODE is also pretty silly.

Want to solve problems? Check this out.

Link to comment
Share on other sites

Link to post
Share on other sites

Brainfuck, yes its a real language

http://en.wikipedia.org/wiki/Brainfuck

Muh rig: i7 4770k, Cooler Master Hyper 212 Evo, MSI Z87 G45, Kingston Hyper X Blu 8GB, Samsung 840 EVO 120 + WD Blue 1 TB, Asus GTX 770 2GB, Corsair 200r + 2x Corsair AF 120 Blue + 1x Stock corsair fan, Corsair TX650, LG 27EA33V IPS, Steelseries Sensei Raw + QCK mini, CM Quickfire Ultimate Blue.

Link to comment
Share on other sites

Link to post
Share on other sites

There is also Malbolge... which is deliberately designed to look like complete nonsense.

 

Hello World : 

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
Link to comment
Share on other sites

Link to post
Share on other sites

 

There is also Malbolge... which is deliberately designed to look like complete nonsense.

 

Hello World : 

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>

and we have a winner! i love it 

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×