LOLCODE
# LOLCODE

LOLCODE es un lenguaje de programación esotérico inspirado por el lenguaje expresado en el fenómeno de Internet de los Lolcat. El lenguaje fue creado el 2007 por Adam Lindsay, investigador del Departamento de Computación de la Universidad de Lancaster.

## Estructura del lenguaje y ejemplos

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.

### Ejemplo 1

| 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. |

### Ejemplo 2

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!»).

### Ejemplo 3

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):

## Implementaciones

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, que fue mostrado en seminarios de formación de desarrolladores de Microsoft como el TechEd 2007 Conference en Australia.

## Proyectos relacionados

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.

Existen archivos de coloreado de sintaxis para Nano, Vim, GtkSourceView y Eclipse, entre otros.

