Cluster (Programmiersprache)
Programmiersprache
Cluster ist eine Programmiersprache, die Anfang der 1990er von Thomas Pfrengle und Ulrich Sigmund (StoneWare) für das Amiga-Graphikkartensystem EGS entwickelt wurde. Sie ist ein Dialekt der Programmiersprache Modula-2 mit Anleihen aus Oberon (objektorientierte Elemente) und Ada (Ausnahmebehandlung).
Eigenschaften
Bearbeiten- strenge und statische Typen
- Ordinale Typen: Ganze Zahlen, Aufzählungen, Zeichen, Wahrheitswerte
- Unterbereiche ordinaler Typen
- Mengen über ordinalen Typen
- Felder mit ordinalen Typen für Indizes
- Gleitkommazahlen
- Texte
- Tags, eine Besonderheit des Amiga-Betriebssystems: Paare aus einer Eigenschaft und einem Parameter
- Datenverbünde und Objekte
- Unterprogramme und Funktionen
- Module
- Generische Module ohne Maschinencodevervielfältigung
- Objektorientierung (Mehrfachvererbung in Ansätzen)
- automatische Freigabe von Ressourcen, wie Speicher, Fenster, Dateizugriffen usw.; es kann allerdings leicht passieren, dass Ressourcen zu früh freigegeben werden
- Ausnahmebehandlung (Exceptions)
- nebenläufige Programmierung in Ansätzen (Threads)
- Unterstützung von Aufrufen von AmigaOS-Funktionsbibliotheken
- maschinennahe Programmierelemente (Abfrage von Prozessorflags, eingebettete Assemblerprogramme)
Projekte
BearbeitenDie wohl bekanntesten mit Cluster realisierten Projekte sind
- die objektorientierte grafische Benutzeroberfläche von EGS,
- die Cluster-Entwicklungsumgebung und
- ein Klangverarbeitungsprogramm namens Assampler.