Apple Pascal
# Apple Pascal

Apple Pascal war eine Implementierung von UCSD Pascal, dem P-Code der University of California, San Diego (UCSD) für den Apple II. Pascal war in den 1970er und frühen 1980er Jahren sehr populär; daher wurde aus UCSD Pascal II.1 eine Variante für den Apple II abgeleitet. Zwei UCSD-Studenten, Mark Allen und Richard Gleaves, entwickelten im Sommer 1978 einen Interpreter für den im Apple II verwendeten Mikroprozessor 6502, welcher später die Grundlage für Apple Pascal wurde, das 1979 herausgegeben wurde und fünf Jahre lang ein Produkt von Apple blieb.

## Release Level

UCSD Pascal ist von Roger T. Sumner am Institute for Information Systems der UCSD entwickelt worden, dort sind fünf Versionen veröffentlicht worden:
* Version I.3 August 1977
* Version I.4 Januar 1978
* Version I.5 September 1978 (Quelltexte freigegeben)
* Version II.0 Februar 1979
* Version II.1 1979
Von Apple Pascal sind vier Versionen veröffentlicht worden:
* Version 1.0 1979 (aufbauend auf UCSD-Pascal II.1)
* Version 1.1 1980
* Version 1.2 1983
* Version 1.3 1984
Ab Version 1.2 wurden nur noch 128K-Systeme unterstützt.

## Wirtschaftliche Bedeutung

Die direkte wirtschaftliche Bedeutung des Apple-Pascal-Betriebssystems ist eher gering einzustufen:
* Es gab nur wenige professionelle Anwendungen. Bekanntheit hat allenfalls die Adimens-Datenbank erlangt, auch unter dem Namen A.D.I. proFIT. Adimens wurde später auf Atari ST portiert. Entwickelt wurde die Datenbank von der Karlsruher Firma ADI Software GmbH (heute ADI Innovation AG).
* Indirekt war Pascal aber die Grundlage für die Programmierung der Lisa und später des Mac OS bis zur Version Mac OS 9.2.2 (Classic). Die Programmierung in Pascal mit der strengen Typprüfung war ein wesentlicher Grund für die hohe Stabilität des frühen Mac OS. Mac OS X baute später auf FreeBSD/Mach auf und war, wie alle Unix-ähnlichen Betriebssysteme in C und Assembler geschrieben.

## Sprachumfang

Der von Niklaus Wirth entwickelte Standard wurde im UCSD Pascal um einige Sprachelemente erweitert, z. B. um unit-Befehle (unitread, unitwrite, unitstatus), um direkt mit der angeschlossenen Hardware kommunizieren zu können. Um mit knappem Hauptspeicherplatz haushalten zu können, bestand die Möglichkeit, das Programm zu segmentieren. Apple Pascal unterscheidet sich im Sprachumfang nur unwesentlich von UCSD Pascal.