Los 10 lenguajes de programación más raros del mundo

Los lenguajes de programación se supone que son fáciles de utilizar y aprender. Su sintaxis debe ser clara y comprensible, y sus implementaciones, rápidas y libres de errores. A veces, los diseñadores de lenguajes de programación crean un lenguaje que va en contra de estos principios, por temas de investigación o por simple diversión. En este artículo te mostramos los 10 lenguajes de programación más raros del mundo.

LOLCODE

Pocos lenguajes de programación están tan inspirados en Internet como LOLCODE. Fue creado en 2007 por Adam Lindsay, investigador de la Universidad de Lancaster. Las palabras clave del lenguaje son capitalizadas y "memeficadas". ¡Casi puedes imaginar a un gato utilizándolo en producción!

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

Como la mayoría de los lenguajes de este listado, no cuenta con ningún estándar del que hablar. Esto significa no podrás utilizar LOLCODE para nada más que leer un archivo o escribir texto en la consola. Si necesitas una versión más potente, echa un vistazo a LOLPython, que se inspira en LOLCODE y te da acceso a todas las potentes librerías de Python.

Glass

Glass es un lenguaje de programación esotérico desarrollado por Gregor Richards en 2005. Combina una notación postfix poco intuitiva con orientación a objetos, requiriendo extensos malabares de la pila principal para combinar su estructura orientada a objetos. Según el autor ninguna otro lenguaje se implementa así, porque sería una idiotez.

He aquí un ejemplo de un programa que emite una secuencia de Fibonacci:

{F[f(_a)A!(_o)O!(_t)$(_n)1=,(_isle)(_n)*(_a)(le).?=/(_isle)^(_n)*(_a)
s.?(_t)f.?(_n)*(_a)s.?(_t)f.?(_a)a.?]}{M[m(_a)A!(_f)F!(_o)O!(_n)=(_nlm)
=/(_nlm)(_n)*(_f)f.?(_o)(on).?" "(_o)o.?(_n)(_n)*(_a)a.?=(_nlm)(_n)*
(_a)(le).?=]}

Brainfuck

Brainfuck es la superestrella de los lenguajes oscuros, siendo casi un objeto de culto. Es muy difícil programar en Brainfuck, ya que solo tiene ocho comandos simples y un puntero de instrucción. Está diseñado para desafiar y entretener a los programadores, y no fue desarrollado para su uso en producción. Fue creado en 1993 por Urban Müller. Esta sería la implementación del típico "Hola Mundo":

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.
<<+++++++++++++++.>.+++.------.--------.>+.>.

Chicken

Chicken no es sólo el nombre del lenguaje, sino también la única palabra que se puede utilizar en él. El número de repeticiones y saltos de línea determina la operación que se debe ejecutarse. Os propongo un reto: os doy un caramelo a aquellos que logren descifrar qué acción lleva a cabo este código.

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken

Whitespace

Whitespace es un lenguaje de programación a destacar. Solo entiende de espacios, tabulaciones y saltos de línea, e ignora todo lo demás. Esto hace posible tener un programa escrito en otro lenguaje, como JavaScript, y que la indentación esté escrita en Whitespace. He aquí un ejemplo que imprime el típico "Hola Mundo" (los espacios están marcados con un S y las tabulaciones con una T):

S S S T	S S T	S S S 
T	
S S S S S T	T	S S T	S T	
T	
S S S S S T	T	S T	T	S S 
T	
S S S S S T	T	S T	T	S S 
T	
S S S S S T	T	S T	T	T	T	
T	
S S S S S T	S T	T	S S 
T	
S S S S S T	S S S S S 
T	
S S S S S T	T	T	S T	T	T	
T	
S S S S S T	T	S T	T	T	T	
T	
S S S S S T	T	T	S S T	S 
T	
S S S S S T	T	S T	T	S S 
T	
S S S S S T	T	S S T	S S 
T	
S S S S S T	S S S S T	
T	
S S

///

/// es un lenguaje minimalista que consiste en una sola operación: sustituir cadenas de esta forma /fuente/reemplazo/. Fue inventado por Tanner Swett en 2006. El lenguaje es muy limitado, pero algunos programadores inteligentes son capaces de convertir una sencilla operación de sustitución de cadenas en programas que operan a full con bucles y distintas salidas. Aquí tienes el código para un "Hola, mundo!":

/ world! world!/Hello,/ world! world! world!

Befunge

Befunge es un lenguaje de programación en dos dimensiones. Tu código se coloca en un campo de juego con un tamaño fijo. Cada celda del campo de juego puede contener ya sean códigos o datos, y tu programa puede reemplazar los datos de cualquier celda que desees. El intérprete comienza en la celda superior izquierda y continúa sucesivamente a la derecha. Puedes controlar la dirección en la que el intérprete interpreta los datos. Por ejemplo, esto sería un bucle infinito:

>v
^<

Y esto un "Hola, mundo!":

0"!dlroW ,olleH">:#,_@

Piet

Piet es un lenguaje de programación en el que los programas son mapas de bits que parecen pinturas abstractas. El bloque de construcción básico para los programas de Piet es el bloque de color. Es compatible con 20 colores distintos, incluso algunas implementaciones cuentan con soporte para más. La compilación es guiada por un "puntero" que se mueve alrededor de la imagen, de una región continua de color a la siguiente. Aquí tienes un "¡Hola, mundo!"

Malbolge

Malbolge es un lenguaje de programación inventado por Ben Olmstead en 1998. Como curiosidad, lleva el nombre del octavo círculo del infierno, en el infierno de Dante. El nombre no fue elegido al azar - el lenguaje fue diseñado específicamente para que sea imposible escribir programas útiles. Solo decirte que debes ser un experto en criptografía para escribir un programa significativo en él. Así se ve el "Hola Mundo" en Malbolge:

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>

~ English

~ English es un lenguaje de programación que intenta imitar un lenguaje que suene natural. Su sintaxis es muy sencilla para dar el escritor una mayor libertad de expresión. No hay funciones que puedan ser definidas por el programador, solo puede utilizar las ya incorporadas. He aquí un ejemplo de programa:

Display "Hello world!" and a newline.
Stop the program.

 

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.