LOLCODE
LOLCODE linguaggio di programmazione | |
---|---|
Data di origine | 2007 |
Ultima versione | 0.10.5 (21 aprile 2014) |
Paradigmi | programmazione imperativa, programmazione procedurale e programmazione strutturata |
Estensioni comuni | lol e lols |
Influenzato da | Lolcat |
Implementazione di riferimento | |
Sito web | www.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. oGTFO
oENUF
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]- ^ Dwight Silverman, I'M IN UR NEWSPAPER WRITIN MAH COLUM, su Chron.com, 6 giugno 2007. URL consultato il 6 giugno 2007.
- ^ Lancaster University Computing Department News, su comp.lancs.ac.uk. URL consultato il 18 dicembre 2008 (archiviato dall'url originale il 28 maggio 2009).
- ^ 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]- Wikimedia Commons contiene immagini o altri file su LOLCODE
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su lolcode.org.