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

Esempi e struttura del linguaggio 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

HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE

{| class="wikitable" width="80%" ! 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: 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: {| class="wikitable" width="80%" ! Codice ! Commento |- | PLZ OPEN FILE "NAME"? | serve per aprire i file. |- | AWSUM THX O NOES | servono per la gestione delle eccezioni.

Altri comandi includono: {| class="wikitable" width="80%" ! 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: 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:

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

Voci correlate Adam Lindsay Linguaggio di programmazione Lolcat

Altri progetti

Collegamenti esterni

Categoria:Linguaggi di programmazione esoterici