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]
UCSD Pascal e P-System
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]
Prestazioni
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]
Note
- ^ DOS 3.3, ProDOS & Beyond, su apple2history.org, Apple2history. URL consultato il 04/01/2015.
- ^ a b c d e UCSD P-System, su pascal.hansotten.com, Hans Otten, 2010. URL consultato il 04/01/2015 (archiviato dall'url originale il 6 maggio 2014).
- ^ a b c The UCSD P-System Museum, su threedee.com, Jefferson Computer Museum. URL consultato il 04/01/2015.
Collegamenti esterni