It is probably best to see it as an Object-oriented language, with many ideas borrowed from Eiffel. Even the name is inspired by Eiffel; the Sather Tower is a recognizable landmark at Berkeley. Sather also takes inspiration from other programming languages and paradigms. There are some features normally only found in functional programming languages.
The original Berkeley implementation is now maintained by many people, not all at Berkeley, and has been adopted by the Free Software Foundation. There are at least two other implementations: Sather-K from the University of Karlsruhe, and Sather-W from the University of Waikato.
Sather is implemented as a compiler to C. With optimizations in the C compiler, Sather can perform better than the corresponding C++ code, and the generated C code can always be optimized by hand.
Sather can be used under either the GNU GPL or LGPL.
Hello World
class HELLO_WORLD is main is #OUT+"Hello World\n"; end; end;
Sather is an object orientedlanguage which aims to be simple, efficient, interactive, safe, and non-proprietary.
Sather avoids many of the runtime tag checking operations that are done by less strongly typed languages.
Because the compiler uses C as an intermediate language, the quality of the executable code depends on the match of the C code templates used by the Sather compiler to the optimizations employed by the C compiler.
The Cprogramminglanguage is a standardized imperative computer programminglanguage developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the Unix operating system.
C is a relatively minimalist programminglanguage that operates close to the hardware, and is more similar to assembly language than to most high-level languages.
Unfortunately, C is designed as a programminglanguage, not as a compiler target language, so is not ideal for use as an intermediate language, leading to development of C-based intermediate languages, such as C--.