INTERCAL

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/

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. 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.

Storia

INTERCAL è stato sviluppato nel 1972 da due studenti dell'Università di Princeton, Don Woods e James Lyon.

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

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

Descrizione

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

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.

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.

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

Esempio

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

Questo esempio stampa a schermo "Hello world!".

Note

  1. 1 2 (EN) INTERCAL, su DevX. URL consultato l'11 marzo 2024.
  2. 1 2 (EN) INTERCAL, su techopedia.com.
  3. 1 2 3 4 5 6 (EN) INTERCAL (PDF), su cs.uky.edu.
  4. 1 2 Woods, p. 1.
  5. 1 2 3 (EN) Vitaliy Mokosiy, Weird programming languages, su Medium, 17 luglio 2017. URL consultato l'11 marzo 2024.
  6. ↑ Woods, p. 5.
  7. ↑ Woods, p. 19.
  8. ↑ Woods, p. 6.
  9. 1 2 Woods, p. 9.

Bibliografia

Altri progetti

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