LOLCODE

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
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

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[editar]

Las palabras clave del lenguaje LOLCODE son abreviaturas bien comprimidas del lenguaje utilizado por las imágenes de los Lolcat. Acá un ejemplo de como imprimir un Hola mundo y un simple programa para mostrar en pantalla utilizando el lenguaje.[2]

Ejemplo 1[editar]

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.

Ejemplo 2[editar]

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

Ejemplo 3[editar]

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

[2]

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?
IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 10
    VISIBLE SUM OF VAR AN 1
IM OUTTA YR LOOP
KTHXBYE

Implementaciones[editar]

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

Proyectos relacionados[editar]

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

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

Referencias[editar]

  1. Implementaciones de LOLCODE (en inglés)
  2. a b Adam Lindsay (25 de mayo de 2007). «LOLCODE main page». lolcode.com. Consultado el 2 de octubre de 2007.
  3. LOLCODE .NET compiler en Google Code
  4. TechEd Day 2: Microsoft announces LOLCode support, Long Zheng
  5. LOLcode in next Visual Studio? For young and funny cats, NetworkWorld.com
  6. «Video of LOLCODE presentation at TechEd 2007». Blip.tv (17-08-2007). Consultado el 09-06-2009.
  7. «LOLPython». Dalkescientific.com (1 de junio de 2007). Consultado el 9 de junio de 2009.

Véase también[editar]