Action (Programmiersprache)
# Action (Programmiersprache)

Action (auch: Action!) ist eine prozedurale Programmiersprache und ein Compiler für Atari-8-Bit-Heimcomputer (Atari 400/800, XL-Serie, XE-Serie), die 1983 von Clinton W. Parker für Optimized Systems Software zunächst auf Cartridge entwickelt wurde.

Action wurde zur Erstellung von mindestens zwei kommerziellen Produkten verwendet. Dazu gehören HomePak, ein Produktivitätsmanager und Games Computers Play, ein Clientprogramm und vielen weiteren Programmen im ANALOG Computing und Antic Magazin.

Der 1-Pass-Compiler erzeugt 6502-Maschinencode und ist erhältlich unter der GNU General Public Lizenz. Die Sprache enthält Sprachelemente von C, Algol 68 und Pascal.

## Geschichte

Clinton W. Parker war enttäuscht von dem fehlenden System für Entwicklung auf der Atari-Plattform, was die Motivation für die Entwicklung von Action! war. Parker wollte das Programm ursprünglich selber veröffentlichen, wobei er sich jedoch später dazu entschied, es über seinen Partner Optimized Systems Software zu vertreiben, welcher damals den Fokus auf Programmiersprachen wie BASIC XL legte.

In einem Interview im Jahre 2015 teilte Parker mit, wie überrascht er über das hohe Interesse, die Programmiersprache am Leben zu halten, ist.

## Datentypen

Action unterstützt die drei fundamentalen Datentypen Byte, Cardinal und Integer, welche alle numerisch sind. Sie decken unterschiedliche Wertebereiche ab. Nur der Datentyp Integer unterstützt negative Zahlen. Es ist ebenfalls möglich, benutzerdefinierte Variablentypen einzufügen.

## Entwicklungsumgebung

Action ist einer der früheren Beispiele des OSS-SuperCartridge-Formats. Die verwendeten ROM-Kartuschen waren normalerweise auf 8 Kilobyte limitiert, was die Möglichkeit, größere Programme zu erstellen, erschwerte. Die SuperCartridge hatte 16 Kilobyte verteilt in vier 4 Kilobyte-Blöcken, wobei immer zwei der Blöcke sichtbar waren.

Action verwendete dieses Format, indem es das System in vier Sektionen brach, nämlich den Editor, den Compiler, den Monitor und einer Run-time-Bibliothek. Letzteres war in der Kartusche selber gespeichert. Um eigenständige Applikationen zu verteilen, brauchte man ein weiteres Paket, verkauft von OSS, namens Action! Toolkit.

Der Monitor diente als Debugger und erlaubte, das ganze Programm oder einzelne Funktionen auszuführen, den verwendeten Speicher anzuzeigen und diesen zu modifizieren.

## Beispielprogramm

Das folgende zeigt ein Beispielprogramm für Sieve of Eratosthenes, geschrieben in Action, auf. Mit dem Ziel, das Programm zu optimieren, wird der ANTIC-Grafikprozessor deaktiviert, was verhindert, dass die DMA Engine CPU-Zyklen abfängt.

