LOLCODE es un lenguaje de programación esotérico inspirado por el lenguaje expresado en el fenómeno de Internet de los Lolcat.[2] El lenguaje fue creado el 2007 por Adam Lindsay, investigador del Departamento de Computación de la Universidad de Lancaster.[3][4]
LOLCODE | ||
---|---|---|
? | ||
Información general | ||
Extensiones comunes | .lol, .lols | |
Paradigma | Esotérico, Imperativo (Procedural), Estructurado | |
Apareció en | 2007 | |
Diseñado por | Adam Lindsay | |
Implementaciones | Múltiples[1] | |
Influido por | Lolcats | |
Ha influido a | LOLPython | |
Las palabras clave del lenguaje LOLCODE son abreviaturas bien comprimidas del lenguaje utilizado por las imágenes de los Lolcat. Aquí se muestra un ejemplo de cómo imprimir un Hola mundo y un simple programa para mostrar en pantalla utilizando el lenguaje.[5]
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
Código | Comentario |
---|---|
HAI
|
En todos los programas LOLCODE, HAI inicia el programa.
|
CAN HAS [BIBLIOTECA]?
|
En muchos lenguajes de programación, una de las primeras instrucciones sería la inclusión de una biblioteca para funciones comunes como entrada y salida. Típicamente esto es incluido por una llamada como por ejemplo #include <stdio.h> (stdio es una instrucción estándar para bibliotecas de entrada/salida). Este comando es una instrucción creada como sarcástica, preguntando si el archivo es accesible, obteniéndolo si es posible, y mostrando un error si no.
|
VISIBLE [MENSAJE]
|
Imprime un mensaje en la pantalla. |
KTHXBYE
|
Así como HAI inicia el programa, KTHXBYE (que significa «Okay thanks, bye» («Bien gracias, adiós») lo termina.
|
HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
AWSUM THX
VISIBLE FILE
O NOES
INVISIBLE "ERROR!"
KTHXBYE
En este ejemplo hay una instrucción para abrir un archivo (PLZ OPEN FILE "NAME"?
— «Please try to open a file?» («Por favor, ¿trata de abrir un archivo?»), y un manejo de excepciones (AWSUM THX
— «Awesome, thanks!» («¡Asombroso, gracias!»), y O NOES
(«Oh no!»).
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
[5]
Este programa muestra los números del 1 al 10 y después finaliza (como en la especificación 1.0). El mismo programa siguiendo la especificación 1.2 es (asumiendo que VAR inicia en 0):
HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 10
VISIBLE SUM OF VAR AN 1
IM OUTTA YR LOOP
KTHXBYE
El proyecto provee una especificación sobre el LOLCODE, pero no hay una implementación de referencia. En vez de esto, hay diversas implementaciones no oficiales en C, Ruby, Perl, PHP o incluso JavaScript.
También hay un compilador para .NET, escrito por Nick Johnson,[6] que fue mostrado en seminarios de formación de desarrolladores de Microsoft como el TechEd 2007 Conference en Australia.[7][8][9]
LOLCODE también inspiró LOLPython, escrito por Andrew Dalke. LOLPython usa una sintaxis similar a LOLCODE, pero con un estilo parecido a Python. Este opera traduciendo el código LOLPython a código Python.[10]
Existen archivos de coloreado de sintaxis para Nano, Vim, GtkSourceView y Eclipse, entre otros.