LOLCODE

LOLCODE
linguaggio di programmazione
Data di origine2007
Ultima versione0.10.5 (21 aprile 2014)
Paradigmiprogrammazione imperativa, programmazione procedurale e programmazione strutturata
Estensioni comunilol e lols
Influenzato daLolcat
Implementazione di riferimento
Sito webwww.lolcode.org

LOLCODE è un linguaggio di programmazione esoterico, ispirato al fenomeno di Internet dei lolcat.[1] Il linguaggio è stato creato nel 2007 da Adam Lindsay, ricercatore al dipartimento di ricerca informatica della Lancaster University.[2]

Esempi e struttura del linguaggio[modifica | modifica wikitesto]

Il linguaggio LOLCODE è scritto attraverso uno slang in lingua inglese estremamente sintetico, in modo tuttavia da risultare comprensibile a chi conosce lo slang. Segue un semplice esempio di programma, che stampa a video il messaggio Hello world:

Esempio 1[3]

HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE 
Codice Commento
HAI 
serve a introdurre il programma.
CAN HAS [FILE]? 
In molti linguaggi di programmazione, una delle prime istruzioni di un programma sarà quella che permette di includere una libreria, dove saranno presenti funzioni comuni come quelle di input e output. Tipicamente questo viene eseguito con una chiamata del tipo #include <stdio.h> (stdio è la libreria che include le funzioni di input e output standard del C). Nel LOLCODE il comando "chiede" se il file è disponibile, e lo apre se la risposta è affermativa.
VISIBLE [MESSAGGIO] 
stampa un messaggio a schermo.
KTHXBYE 
contrazione di "Okay — thanks — bye!", conclude il programma.

Esempio 2[3]:

HAI CAN HAS STDIO? PLZ OPEN FILE "LOLCATS.TXT"?     AWSUM THX         VISIBLE FILE     O NOES         INVISIBLE "ERROR!" KTHXBYE 

In questo esempio vengono introdotti nuovi comandi:

Codice Commento
PLZ OPEN FILE "NAME"? 
serve per aprire i file.
AWSUM THX 
O NOES 
servono per la gestione delle eccezioni.

Altri comandi includono:

Codice Commento
I HAS A ''variabile'' 
per dichiarare le variabili.
LOL ''variabile'' R ''valore'' 
per assegnarle.
INVISIBLE 
serve per mandare messaggi d'errore ad un front end.
BTW 
serve per scrivere un commento.
IM IN YR ''etichetta'' 
KTHX 
Per aprire e chiudere un ciclo.
GTFO 
o
ENUF 
o
IZ 
servono per terminare i cicli: questi non hanno delle condizioni, e sono infiniti.

Esempio 3[3]:

HAI CAN HAS STDIO? I HAS A VAR IM IN YR LOOP    UP VAR!!1    IZ VAR BIGGER THAN 10? KTHX    VISIBLE VAR IM OUTTA YR LOOP KTHXBYE 

Altra versione del programma precedente[3]:

  HAI  CAN HAS STDIO? I HAS A VAR  IM IN YR LOOP UPPIN YR VAR TIL BOTHSAEM VAR AN 10      VISIBLE SUM OF VAR AN 1  IM OUTTA YR LOOP  KTHXBYE 

Note[modifica | modifica wikitesto]

  1. ^ Dwight Silverman, I'M IN UR NEWSPAPER WRITIN MAH COLUM, su Chron.com, 6 giugno 2007. URL consultato il 6 giugno 2007.
  2. ^ Lancaster University Computing Department News, su comp.lancs.ac.uk. URL consultato il 18 dicembre 2008 (archiviato dall'url originale il 28 maggio 2009).
  3. ^ a b c d Adam Lindsay, " LOLCODE main page [collegamento interrotto], su lolcode.com", lolcode.com, 25 maggio 2007. URL consultato il 2 ottobre 2007.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica