Sather
Sather | |
---|---|
Erscheinungsjahr: | 1990 |
Designer: | Steve Omohundro |
Entwickler: | GNU-Projekt |
Aktuelle Version | 1.2.3[1] (7. Juli 2007) |
Beeinflusst von: | Eiffel, CLU |
Beeinflusste: | Rust |
Lizenz: | GNU General Public License, Version 3 |
www.gnu.org/software/sather/ |
Sather ist eine objektorientierte Programmiersprache. Sie entstand 1990 am International Computer Science Institute (ICSI) der University of California in Berkeley.
Vorbild von Sather war zunächst Eiffel, die Sprache entfernte sich mit fortlaufender Entwicklung jedoch weg von einem reinen objektorientierten Paradigma und nahm insbesondere Elemente der funktionalen Programmierung auf. Ursprünglich war die Entwicklung von dem Gedanken motiviert, eine effiziente Sprache zu schreiben, die die Einfachheit und Sicherheit von Eiffel oder CLU erhält, ohne dabei ihre Komplexität zu übernehmen. Sather-Programme, die den ersten Sprachspezifikationen genügen, sind auch gültige Eiffel-Programme. Für Programme, die der aktuellen Spezifikationen folgen, gilt dies nicht mehr.
Als weitere Einflüsse für Sather sind Smalltalk, Scheme, Common Lisp und das CLOS anzusehen.
Der Name „Sather“
[Bearbeiten | Quelltext bearbeiten]Der Name bezieht sich auf den Sather Tower, einem markanten Turm, der sich auf dem Campus der University of California, Berkeley befindet und ist als Anspielung auf die Sprache Eiffel gedacht, die ihrerseits nach dem Eiffelturm in Paris benannt wurde.
Eigenschaften von Sather
[Bearbeiten | Quelltext bearbeiten]- Parametrisierte Klassen
- Polymorphe Methoden und -aufrufmechanismus
- Statisch überprüfbare, starke kontravariante Typisierung
- Mehrfachvererbung
- Speicherbereinigung
- Iteratoren
- Funktionen und Iteratoren höherer Ordnung
- Ausnahmen
- Zusicherungen
- Vor- und Nachbedingungen
- Klasseninvarianten
Hallo-Welt-Programm in Sather
[Bearbeiten | Quelltext bearbeiten]Der folgende Quelltext stellt ein einfaches Sather-Programm dar, das die Meldung Hallo Welt!
und einen Zeilenumbruch auf der Standardausgabe ausgibt.
class HALLO_WELT is main is #OUT+"Hallo Welt!\n"; end; end;
Dialekte
[Bearbeiten | Quelltext bearbeiten]- pSather ist eine Erweiterung von Sather, die Konstrukte enthält, mit denen man parallele Berechnungen ausdrücken kann.
- Sather-K wurde aus Sather an der Universität Karlsruhe von Prof. Gerhard Goos entwickelt.
Übersetzer für Sather
[Bearbeiten | Quelltext bearbeiten]- Das ICSI Berkeley stellt den dort entwickelten Sather-Übersetzer kostenlos bereit.
- Den Sather-K-Übersetzer erhält man bei der Universität Halle
- Das GNU-Projekt hat einen eigenen Sather-Übersetzer entwickelt.