UCSD Pascal linguaggio di programmazione | |
---|---|
UCSD Pascal | |
Autore | Università della California, San Diego |
Data di origine | 1978 |
Utilizzo | Generico |
Paradigmi | programmazione strutturata |
Tipizzazione | forte |
L'UCSD Pascal è un dialetto del linguaggio di programmazione Pascal sviluppato da The Institute for Information Systems dell'Università della California, San Diego (UCSD) e distribuito nel 1978.[1][2]
Il linguaggio Pascal fu sviluppato da Niklaus Wirth e pubblicato nel 1970. Era un linguaggio compilato e come tale per ogni microprocessore serviva un compilatore apposito dato che il linguaggio macchina cambiava da CPU a CPU: fu così che nacquero le versioni per MOS 6502, Zilog Z80, Intel 8080 e così via.[3]
Nacque così l'idea di creare un sistema software basato su una macchina virtuale che potesse eseguire il bytecode generato, detto P-Code. In questo modo si sarebbe potuto distribuire una sola versione del programma compilato, utilizzabile su tutti i sistemi per cui era disponibile la macchina virtuale: era solo quest'ultima che doveva essere scritta per la CPU su cui doveva girare, per trasformare il P-Code in linguaggio macchina specifico per essa.[2][3] Il progetto fu elaborato inizialmente dal gruppo di Wirth e poi concretizzato all'Institute for Information Systems dell'Università della California, dove possedevano un PDP-11 su cui facevano girare il Pascal ma stavano arrivando anche altri computer: ogni computer avrebbe avuto un hardware differente ed ognuno avrebbe dovuto avere il suo compilatore.[2]
All'Università della California andarono però oltre, estendendo il concetto all'intero sistema operativo e creando l'UCSD P-System, un sistema basato su macchine virtuali che interpretavano il bytecode generato dai compilatori UCSD. Il linguaggio più popolare sull'UCSD P-System fu l'UCSD Pascal, perché il P-System stesso fu scritto in UCSD Pascal.[3]
La versione più nota dell'UCSD Pascal fu l'Apple Pascal, sviluppato da Apple per i propri personal computer Apple II e distribuito a partire dal 1979.[2]
Rispetto ai programmi compilati, un programma in bytecode e poi interpretato in fase di esecuzione era più lento ma aveva a suo favore il fatto che i programmi erano più compatti, dato che tutto quanto serviva alla loro esecuzione era contenuto nella sottostante macchina virtuale, e questo era un vantaggio per i limitati hardware dei computer dell'epoca. Il concetto è stato poi ripreso da alcuni linguaggi moderni, quali Java, dove un unico sorgente può girare su tutte le piattaforme hardware per cui è disponibile la corrispondente macchina virtuale.[2]
Controllo di autorità | LCCN (EN) sh85139245 · GND (DE) 4117271-1 · J9U (EN, HE) 987007558582705171 |
---|