Ook! is an esoteric programming language created by David Morgan-Mar, that carries great similarities to Brainfuck. Well, it's actually isomorphic to Brainfuck, so we won't have to prove that it's Turing complete. The big difference is that Ook! is designed specifically with orang-utans in mind. The design principles are:

So how does Ook! work? It's pretty simple, really (at least if you're an orang-utan). It uses a large array of integers all initally set to zero and a memory pointer pointing at the first array cell. From then on you control the program flow by combining the three syntactic elements available. They are:

  • Ook.
  • Ook?
  • Ook!
This has the immense advantage that by using different ooks, which for an orang-utan can convey ideas, emotions and abstract thoughts there is no need for comments in the code. It's self explanatory. Everything is in the inflection.

To continue the description of the language each of the elements are used in pairs, which gives the language eight unique commands:

Ook. Ook?
Move the Memory Pointer to the next array cell.
Ook? Ook.
Move the Memory Pointer to the previous array cell.
Ook. Ook.
Increment the array cell pointed at by the Memory Pointer.
Ook! Ook!
Decrement the array cell pointed at by the Memory Pointer.
Ook. Ook!
Read a character from STDIN and put its ASCII value into the cell pointed at by the Memory Pointer.
Ook! Ook.
Print the character with ASCII value equal to the value in the cell pointed at by the Memory Pointer to STDOUT.
Ook! Ook?
Move to the command following the matching Ook? Ook! if the value in the cell pointed at by the Memory Pointer is zero. Note that Ook! Ook? and Ook? Ook! commands nest like pairs of parentheses, and matching pairs are defined in the same way as for parentheses.
Ook? Ook!
Move to the command following the matching Ook! Ook? if the value in the cell pointed at by the Memory Pointer is non-zero.

That's it!


Here is a progam listing of "Hello World!" in Ook!:

#
# Lawrence Pit
#
# (C) 2002 BlueSorcerer
#

#example that prints Hello World!

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 


source: http://www.dangermouse.net/esoteric/ook.html
http://bluesorcerer.net/esoteric/hello.ook

Log in or registerto write something here or to contact authors.