Busy Developer's Guide to Esoteric Languages

ted.neward@newardassociates.com | Blog: http://blogs.newardassociates.com | Github: tedneward | LinkedIn: tedneward

Objectives

What are we here to do today?

Objectives

What are we here to do today?

Objectives

What are we here to do today?

Housekeeping

DISCLAIMER

You agree to indemnify this conference, its organizers, its sponsors, and myself completely from any sort of medical or psychological damage that may occur by remaining present to witness the spectacle that these languages become.

Housekeeping

DISCLAIMER

Furthermore, you agree that should any sort of professional consequences (job termination, lawsuit, insane hysterics involving chainsaws and your coworkers, as a partial list of examples) arise out of your decision to utilize or demonstrate any of these languages to anyone outside of this room, neither this speaker, the conference nor any of its sponsors are liable in any way....

Definitions

What is an "esolang"?

"An esoteric programming language ... is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, or as a joke." From Wikipedia

Here we go

Hold on to your ...

The INTERCAL Programming Language

... in a nutshell

The INTERCAL Programming Language

Hello World


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


The INTERCAL Programming Language

What is it?

The INTERCAL Programming Language

What is it?

The INTERCAL Programming Language

Yes, of course...

The INTERCAL Programming Language

Design guidelines

The LOLCODE Programming Language

... in a nutshell

The LOLCODE Programming Language

Hello world


HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

The LOLCODE Programming Language

What is this?

The Brainfuck Programming Language

... in a nutshell

The Brainfuck Programming Language

Hello World


Hello World program
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]
<.#>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[
<++++>-]<+.[-]++++++++++.

The Brainfuck Programming Language

What is this?

The Brainfuck Programming Language

Concepts

The Rockstar Programming Language

... in a nutshell

The Rockstar Programming Language

Fibonacci


Midnight takes your heart and your soul
While your heart is as high as your soul
Put your heart without your soul into your heart

Give back your heart


Desire is a lovestruck ladykiller
My world is nothing 
Fire is ice
Hate is water
Until my world is Desire,
Build my world up
If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing
Shout "FizzBuzz!"
Take it to the top

If Midnight taking my world, Fire is nothing
Shout "Fizz!"
Take it to the top

If Midnight taking my world, Hate is nothing
Say "Buzz!"
Take it to the top

Whisper my world


The Rockstar Programming Language

What is it?

The Rockstar Programming Language

Design guidelines

The Befunge Programming Language

... in a nutshell

The Befunge Programming Language

Hello World

 >              v
 v"Hello World!"<
 >:v
 ^,_@

The Befunge Programming Language

What is this?

The Befunge Programming Language

What is this?

The Befunge Programming Language

Instruction list

The Befunge Programming Language

Instruction list

The Befunge Programming Language

Instruction list

dogescript

wow so syntax very doge much future

dogescript

so httpso doge


shh this is dogescript

such goToTheMoon much doge
  very moon is false
  rly doge is 'a doge'
    moon is true
  wow
wow moon
plz goToTheMoon with 'a doge'

dogescript

so http so wow so doge


shh example http server
so http
http dose createServer with much req res
   res dose writeHead with 200 {'Content-Type': 'text/plain'}
   res dose end with 'so hello\nmuch world'
wow& 
dose listen with 8080

console dose loge with 'Server running at http://127.0.0.1:8080/'


dogescript

What is it?

The Shakespeare Programming Language

... in a nutshell

The Shakespeare Programming Language

A New Beginning.

Hamlet, a literary/storage device.
Juliet, an orator.

                    Act I: The Only Act.

                    Scene I: The Prince's Speech.

[Enter Hamlet and Juliet]

Juliet: Thou art the sum of an amazing healthy honest noble peaceful
        fine Lord and a lovely sweet golden summer's day. Speak your
        mind!

[A pause]

Juliet: Thou art the sum of thyself and a King. Speak your mind!

        Thou art the sum of an amazing healthy honest hamster and a golden
        chihuahua. Speak your mind!

[Exeunt]

The Shakespeare Programming Language

What is this?

The Shakespeare Programming Language

Concepts

The Shakespeare Programming Language

Concepts

The Malbolge Programming Language

... in a nutshell

The Malbolge Programming Language

Hello world

(=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm

The Malbolge Programming Language

What is this?

The Malbolge Programming Language

What is this?

The Malbolge Programming Language

What is this?

Summary

Isn't this COOL!?!?

Aren't you glad we're done?

Credentials

Who is this guy?