Ook!

Ook! (con el signo de exclamación) es un Lenguaje de programación esotérico y Turing completo. Este lenguaje es una parodia de Brainfuck, del que toma su conjunto completo de comandos (ver tabla). Deriva su completitud Turing de esta relación.

Según su diseñador, David Morgan-Mar y Frandi Santana, el lenguaje está diseñado para orangutanes. Tiene 3 palabras reservadas (Ook., Ook?, y Ook!); que pueden combinarse en ocho maneras diferentes para formar el repertorio de instrucciones del lenguaje. Ook! pretende ser fácil de aprender para los orangutanes y evitar cualquier mención de la palabra «mono».

El nombre del lenguaje y la relación con los orangutanes viene del personaje del bibliotecario que aparece en las novelas del Mundodisco de Terry Pratchett. El bibliotecario es un mago que se convirtió en orangután debido a un error en un conjuro mágico y cuyo vocabulario consta de una sola palabra: «Ook».

Sentencia Ook! Caracter Brainfuck Significado
Ook. Ook? > Incrementa el puntero.
Ook? Ook. < Decrementa el puntero.
Ook. Ook. + Incrementa el byte apuntado.
Ook! Ook! - Decrementa el byte apuntado.
Ook! Ook. . Salida (ASCII) del byte apuntado.
Ook. Ook! , Entrada (ASCII) sobre el byte apuntado.
Ook! Ook? [ Avanza a la instrucción inmediatamente posterior al Ook? Ook! correspondiente si el byte actualmente apuntado es cero.
Ook? Ook! ] Retrocede a la instrucción inmediatamente posterior al Ook! Ook? correspondiente si el byte actualmente apuntado no es cero.

Adviértase que si el puntero de ejecución se desplaza un "Ook" se obtiene un programa completamente diferente.

Ejemplo Hola Mundo

Este sería el ya clásico "Hola mundo" en Ook!

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

Enlaces externos

  • The Ook! programming language Homepage
  • Acme::Ook Módulo Perl en CPAN (en inglés)
  • Language::Ook Intérprete y conversor de Ook! a Perl (en inglés)
  • ookie Intérprete de Ook! y Brainfuck con interfaz web, ejemplos y descargable como módulo Ruby
Control de autoridades
  • Proyectos Wikimedia
  • Wd Datos: Q1754680
  • Wd Datos: Q1754680