INTERCAL

linguaggio di programmazione

INTERCAL (sigla per Compiler Language With No Pronounceable Acronym) è stato il primo linguaggio di programmazione esoterico, sviluppato nel 1972 da Don Woods e James Lyon come parodia degli altri linguaggi di programmazione dell'epoca come FORTRAN, BASIC e ALGOL.[1][2][3][4]Tra gli elementi esoterici di questo linguaggio vi sono degli errori che occorrono se il programmatore non è abbastanza o è troppo gentile e la presenza in alcune sue varianti dell'istruzione COMEFROM, inverso della deprecata GOTO.[5]

INTERCAL
linguaggio di programmazione
Codice che stampa 'Hello world!' in INTERCAL
AutoreDon Woods e James Lyon
Data di origine1973
Ultima versione0.30 (2 aprile 2015)
Paradigmiesoterico, imperativo
Tipizzazioneforte
Implementazione di riferimento
Sito webwww.catb.org/~esr/intercal/

Storia

INTERCAL è stato sviluppato nel 1972 da due studenti dell'Università di Princeton, Don Woods e James Lyon.[1][2][3][4]

La versione iniziale del linguaggio sviluppata all'Università di Princeton funzionava mediante schede perforate con un sistema di codifica EBCDIC.[6]

Venne successivamente sviluppata una versione per computer moderni, detta implementazione Atari, che utilizza il sistema di codifica ASCII e di conseguenza sostituisce alcuni caratteri.[7]

Descrizione

Nella sua sintassi più minimale, il linguaggio prevede che ogni istruzione, su singola riga, sia preceduta dall'identificatore DO, PLEASE DO o PLEASE.[3][8]

Le variabili non devono essere dichiarate, possono avere nomi solamente numerici e possono essere di diversi tipi (numeri interi in 16 bit, numeri interi in 32 bit, array di numeri interi in 16 bit o array di numeri interi in 32 bit). Ogni tipo possiede un identificatore differente (rispettivamente ., :, ,, ;). Il valore viene assegnato alle variabili mediante l'operatore <-. L'input avviene attraverso WRITE IN e l'output attraverso READ OUT.[3][9]

Il compilatore restituisce un errore se PLEASE (in italiano, "perfavore") appare meno di 4 o più di 5 volte, perché il programmatore è stato poco o eccessivamente gentile.[3][5]

Per terminare un programma è necessario usare PLEASE GIVE UP (in italiano, "perfavore arrenditi").[3][9]

Esempio

DO ,1 <- #13PLEASE DO ,1 SUB #1 <- #238DO ,1 SUB #2 <- #108DO ,1 SUB #3 <- #112DO ,1 SUB #4 <- #0DO ,1 SUB #5 <- #64DO ,1 SUB #6 <- #194DO ,1 SUB #7 <- #48PLEASE DO ,1 SUB #8 <- #22DO ,1 SUB #9 <- #248PLEASE DO ,1 SUB #10 <- #168DO ,1 SUB #11 <- #24DO ,1 SUB #12 <- #16DO ,1 SUB #13 <- #162PLEASE READ OUT ,1PLEASE GIVE UP

Questo esempio stampa a schermo "Hello world!".[5]

Note

Bibliografia

Altri progetti

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