Los lenguajes de programación esotéricos son lenguajes minimalistas, creados como prueba de concepto y/o reto, tanto para programar el lenguaje como para escribir para él. Veamos un repaso de algunos de ellos:
Brainfuck
Es el más conocido y el más popular, su sintaxis es bastante simple:
++++++++++
[ Bucle para iniciar las memorias (se repite 10 veces)
>+++++++>++++++++++>+++++++++++>+++>+<<<<<-
70 100 110 30 10
]
>++. 'H' (72) 1
>>+. 'o' (111) 3
---. 'l' (108) 3
<---. 'a' (97) 2
>>++. espacio (32) 4
<+. 'm' (109) 3
++++++++. 'u' (117) 3
-------. 'n' (110) 3
<+++. 'd' (100) 2
>+. 'o' (111) 3
>+. '!' (33) 4
>. '\n' (10) 5
Para explicar su sintaxis lo mejor es recurrir a otros lenguajes de programación. Así, en su página de la Wikipedia nos proveen de esta tabla de equivalencias, en las que ptr equivale a un unsigned char:
< –ptr; $pointer–;
+ ++*ptr; $tape[$pointer]++;
- –*ptr; $tape[$pointer]–;
. putchar(*ptr); print chr$tape[$pointer];
, *ptr=getchar(); $tape[$pointer]=ord(<>);
[ while (*ptr) { while($tape[$pointer]){
Está basado en el anterior, pero utiliza en su lugar la combinación de palabras Ook?, Ook! y Ook. Es una parodia del bibliotecario de Mundodisco, que es transformado en orangután y solo puede pronunciar esas tres palabras. Veamos un cacho de código.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Supuestamente este “programa” lo que hace es escribir el típico “hola mundo”.
Befunge
En mi opinión el más original de todos, su estructura de control de flujo se basa en flechas que le dicen al programa dónde ir. Además, facilita mucho la creación de código mutante (código que se modifica a sí mismo):
vv < <
2
^ v<
v13v4
^ ^
> >?> ?>5^
v v
v97v6
v v<
8
. > > ^
^<
El código de arriba se trata de un generador de números aleatorios infinito, que generará un número entre el 1 y el 9. Bastante más legible que los anteriores.
Malbolge
Aquí tenemos a un lenguaje de programación creado para ser irritante e ilegible (no, no es C, y no, tampoco es Perl). Se trata de Malbolge, cuyo nombre proviene del 8º circulo del infierno de La Divina Comedia. Aquí tenemos un “hello world” (o eso me han contado que es):
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Lolcat
Una simple broma. Veamos su código:
HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE VAR
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE
Dado que es bastante más legible que los lenguajes de programación anteriores, dejaré que adivinéis que es lo que se supone que hace.
INTERCAL
Y por ultimo , pero no menos irritante tenemos a una parodia del lenguaje de programación FORTRAN . INTERCAL. Y aquí el hola mundo .
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
Bueno , y eso es todo .
He de decir que algunos de estos lenguajes de programación son muy útiles para aprender sobre algunos conceptos informáticos. Por ejemplo, Brainfuck es perfecto para aprender sobre los punteros.
The post Curiosidades : Los lenguajes de programación esotéricos appeared first on Desde Linux.

Continúar leyendo...
Brainfuck
Es el más conocido y el más popular, su sintaxis es bastante simple:
++++++++++
[ Bucle para iniciar las memorias (se repite 10 veces)
>+++++++>++++++++++>+++++++++++>+++>+<<<<<-
70 100 110 30 10
]
>++. 'H' (72) 1
>>+. 'o' (111) 3
---. 'l' (108) 3
<---. 'a' (97) 2
>>++. espacio (32) 4
<+. 'm' (109) 3
++++++++. 'u' (117) 3
-------. 'n' (110) 3
<+++. 'd' (100) 2
>+. 'o' (111) 3
>+. '!' (33) 4
>. '\n' (10) 5
Para explicar su sintaxis lo mejor es recurrir a otros lenguajes de programación. Así, en su página de la Wikipedia nos proveen de esta tabla de equivalencias, en las que ptr equivale a un unsigned char:
brainfuck
C
Perl
> ++ptr; $pointer++;< –ptr; $pointer–;
+ ++*ptr; $tape[$pointer]++;
- –*ptr; $tape[$pointer]–;
. putchar(*ptr); print chr$tape[$pointer];
, *ptr=getchar(); $tape[$pointer]=ord(<>);
[ while (*ptr) { while($tape[$pointer]){
]
}
}
Ook !Está basado en el anterior, pero utiliza en su lugar la combinación de palabras Ook?, Ook! y Ook. Es una parodia del bibliotecario de Mundodisco, que es transformado en orangután y solo puede pronunciar esas tres palabras. Veamos un cacho de código.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Supuestamente este “programa” lo que hace es escribir el típico “hola mundo”.
Befunge
En mi opinión el más original de todos, su estructura de control de flujo se basa en flechas que le dicen al programa dónde ir. Además, facilita mucho la creación de código mutante (código que se modifica a sí mismo):
vv < <
2
^ v<
v13v4
^ ^
> >?> ?>5^
v v
v97v6
v v<
8
. > > ^
^<
El código de arriba se trata de un generador de números aleatorios infinito, que generará un número entre el 1 y el 9. Bastante más legible que los anteriores.
Malbolge
Aquí tenemos a un lenguaje de programación creado para ser irritante e ilegible (no, no es C, y no, tampoco es Perl). Se trata de Malbolge, cuyo nombre proviene del 8º circulo del infierno de La Divina Comedia. Aquí tenemos un “hello world” (o eso me han contado que es):
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Lolcat
Una simple broma. Veamos su código:
HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE VAR
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE
Dado que es bastante más legible que los lenguajes de programación anteriores, dejaré que adivinéis que es lo que se supone que hace.

INTERCAL
Y por ultimo , pero no menos irritante tenemos a una parodia del lenguaje de programación FORTRAN . INTERCAL. Y aquí el hola mundo .
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
Bueno , y eso es todo .
He de decir que algunos de estos lenguajes de programación son muy útiles para aprender sobre algunos conceptos informáticos. Por ejemplo, Brainfuck es perfecto para aprender sobre los punteros.
The post Curiosidades : Los lenguajes de programación esotéricos appeared first on Desde Linux.
Continúar leyendo...