LOLCODE

Da Teknopedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
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
  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 Teknopedia che trattano di informatica