INTERCAL
INTERCAL linguaggio di programmazione | |
---|---|
![]() | |
Autore | Don Woods e James Lyon |
Data di origine | 1973 |
Ultima versione | 0.30 (2 aprile 2015) |
Paradigmi | esoterico, imperativo |
Tipizzazione | forte |
Implementazione di riferimento | |
Sito web | www.catb.org/~esr/intercal/ |
Modifica dati su Wikidata · Manuale |
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]
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 <- #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!".[5]
Note
- ^ a b (EN) INTERCAL, su DevX. URL consultato l'11 marzo 2024.
- ^ a b (EN) INTERCAL, su techopedia.com.
- ^ a b c d e f (EN) INTERCAL (PDF), su cs.uky.edu.
- ^ a b Woods, p. 1.
- ^ a b c (EN) Vitaliy Mokosiy, Weird programming languages, su Medium, 17 luglio 2017. URL consultato l'11 marzo 2024.
- ^ Woods, p. 5.
- ^ Woods, p. 19.
- ^ Woods, p. 6.
- ^ a b Woods, p. 9.
Bibliografia
- Don Woods e James Lyon, The INTERCAL Programming Language Reference Manual (PDF), 1973.
Altri progetti
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su INTERCAL
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)