WikiDer > Sather

Sather

sather ist ein objektorientiertenProgrammiersprache entwickelt von Mitarbeitern des International Computer Science Institute of the Universität von Kalifornien, Berkeley. Die erste Spezifikation der Sprache wurde um 1990 von einer internationalen Gruppe unter der Leitung von Steve Omohundro.

Wie so oft bei neu entwickelten Programmiersprachen (vgl Java), Sather orientiert sich stark an anderen, bereits existierenden Sprachen und die Sprache ist darauf ausgelegt, die guten Ideen anderer Sprachen zu einem neuen Ganzen zu vereinen. Sather wurde stark beeinflusst von Sprachen wie Eiffel, aber auch von verschiedenen funktionale Sprachen. Ein weiterer Aspekt, den Sather von Eiffel entlehnt, ist der Namensstil: Sather ist nach dem Sather Tower benannt, einem Turm, der die Skyline von Berkeley dominiert.

In Bezug auf Sprachkonstruktionen und Einrichtungen unterstützt Sather automatische Speicherverwaltung und Iteratoren, zusätzlich zu den typischen Möglichkeiten objektorientierter Sprachen. Darüber hinaus unterstützt die Sprache funktionale Konzepte wie generisch, anonyme Funktionen und Bedienerüberlastung. Sather kennt Mehrfachvererbung und a KontravarianteTypsystem. Eine ziemlich ungewöhnliche Idee bei Sather ist die Unterscheidung zwischen Typvererbung und Implementierungsvererbung.

Nach der Entwicklung der ersten Spezifikation beschloss die ICSI-Gruppe, die Sprache auf die Free Software Foundation zur Weiterentwicklung und Verwaltung. Neben der offiziellen Implementierung des FSF gibt es zwei weitere Implementierungen: Sather-K of the Universität Karlsruhe und Sather-W von der Universität Waikato.

Die typische Implementierung des Sather-Compiler benutzt C als Zielsprache. Dies steht im Gegensatz zu den klassischen Compilern, die sich auf Objektcode oder Maschinensprache beziehen kompilieren und ein Programm Ergebnis, das sofort ausführbar ist. Dies überlässt die Programmoptimierungen C-Compilern, die seit langem entwickelt wurden, um effizienten Objektcode zu erzeugen. Es gibt eine Reihe von Studien, in denen Sather-Programme effizienter ablaufen als vergleichbare C-Programme. Außerdem kann der C-Code bei Bedarf noch von Hand optimiert werden.