LOLCODE

linguaggio di programmazione
LOLCODE
linguaggio di programmazione
LOLCode logo.png
Data di origine2007
Ultima versione0.10.5 (21 aprile 2014)
Paradigmilinguaggio di programmazione esoterico
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 linguaggioModifica

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

NoteModifica

  1. ^ Dwight Silverman, I'M IN UR NEWSPAPER WRITIN MAH COLUM, Chron.com, 6 giugno 2007. URL consultato il 6 giugno 2007.
  2. ^ Lancaster University Computing Department News
  3. ^ a b c d Adam Lindsay, " LOLCODE main page[collegamento interrotto], lolcode.com, 25 maggio 2007. URL consultato il 2 ottobre 2007.

Voci correlateModifica

Collegamenti esterniModifica

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