Lenguajes de programación complicados
Un lenguaje de programación es un conjunto de símbolos y reglas similares a un «idioma», con el cuál podremos crear aplicaciones o sistemas para controlar una máquina o determinadas funciones. Existen muchos y muy variados, algunos muy famosos son: Java, C/C++, Basic o Perl.
Sin embargo, existen algunos, mucho menos conocidos que podrían entrar en la categoría de Lenguajes de programación complicados dada su naturaleza. Echemos un vistazo a alguno de ellos:
Intercal (1972)
Intercal (1972): Se diseñó en un principio como una parodia de los lenguajes Fortran y Cobol, por la compleja didáctica que poseían. Se trata de una especie de lenguaje máquina. Como curiosidad, Intercal significa «Lenguaje compilado con ningún acrónimo pronunciable».
Ejemplo del Hello World! en Intercal:
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
Brainfuck (1993)
Brainfuck (1993): Se trata de un lenguaje de programación que a la vez que se basa en un concepto simple, resulta altamente complejo: Funciona sólo realizando operaciones sobre punteros.
Ejemplo del Hello World! en Brainfuck:
++++++++++
[
+++++++>++++++++++>+++>+<<<<-
]
++.
+.
+++++++.
.
+++.
++.
<<+++++++++++++++.
.
+++.
------.
--------.
+.
.
Befunge93 (1993)
Befunge93 (1993): Este lenguaje de programación se caracteriza por estar basado en el modelo de una máquina de pila para pasar parámetros y utilizar una especie de matriz bidimensional para sus instrucciones, que podrán dirigir el control de flujo en cualquier dirección, volviendo en círculo al mismo lugar si se excede en las dimensiones.
Ejemplo del Hello World! en Befunge:
> v
v ,,,,,“Hello”<
48*, v
v,,,,,,“World!”<
25*,@
Malbolge (1998)
Malbolge (1998): Se diseñó para ser un lenguaje de programación muy complicado y se basa en teorías de criptoanálisis. Su nombre está basado en el 8º círculo del infierno (La Divina Comedia, Dante).
Ejemplo del Hello World! en Malbolge:
(=<`:9876Z4321UT.-Q+*)M’&%$H”!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb’rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Unlambda (2001)
Unlambda (2001): Este lenguaje nace de la mezcla entre dos conceptos característicos de la programación usual: los lenguajes ofuscados y los lenguajes funcionales (sólo se maneja la función). Se basa en la lógica combinatoria y el cálculo de operaciones lambda.
Ejemplo del Hello World! en Unlambda:
`r```````````.H.e.l.l.o. .w.o.r.l.di
Whitespace (2003)
Whitespace (2003): Quizás el lenguaje de programación más original. Su característica principal es que se desarrolla con espacios en blanco, tabulaciones y retornos de carro (enter). Especialmente curioso el resaltado de sintaxis en VIM del Whitespace.
Ejemplo del Hello World! en Whitespace.
Ook! (2003)
Ook! (2003): Otro lenguaje de programación bastante original. Se basa en la imitación de un gruñido de un orangután como manejador de punteros. Contiene 3 palabras reservadas (Ook., Ook? y Ook!). Es una parodia del Brainfuck y se basa en un personaje (mago-bibliotecario) de Mundodisco, que se convertía en orangután.
Ejemplo del Hello World! 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.
Chef (2003)
Chef (2003): Este lenguajde programación se basa en que su sintaxis simula ser una receta de cocina. Funciona con un modelo de pila, donde puedes manejar variables, datos e instrucciones.
Ejemplo del Hello World! en Chef:
Hello World Souffle.
Ingredients.
72 g haricot beans
101 eggs
108 g lard
111 cups oil
32 zucchinis
119 ml water
114 g red salmon
100 g dijon mustard
33 potatoes
más…
Piet (2003)
Piet (2003): En este lenguaje de programación, los programas son bitmaps que simulan ser pinturas de arte abstracto. El nombre del lenguaje es en honor al pintor holandés Piet Mondrian.
Ejemplo del Hello World! en Piet: