Sather

Sather
Paradigmobject-oriented, functional
Designed bySteve Omohundro
DeveloperUniversity of California, Berkeley, University of Waikato, GNU project
First appeared1990
Stable release
1.2.3[1] / 7 July 2007; 17 years ago (7 July 2007)
Typing disciplinestatic, strong
Websitewww.gnu.org/software/sather/
Major implementations
ICSI Sather, GNU Sather
Influenced by
Eiffel, CLU, Common Lisp, Scheme
Influenced
Cool

Sather is an object-oriented programming language. It originated circa 1990 at the International Computer Science Institute (ICSI) at the University of California, Berkeley, developed by an international team led by Steve Omohundro. It supports garbage collection and generics by subtypes.

Originally, it was based on Eiffel, but it has diverged, and now includes several functional programming features.

The name is inspired by Eiffel; the Sather Tower is a recognizable landmark at Berkeley, named after Jane Krom Sather, the widow of Peder Sather, who donated large sums to the foundation of the university.

Sather also takes inspiration from other programming languages and paradigms: iterators, design by contract, abstract classes, multiple inheritance, anonymous functions, operator overloading, contravariant type system.

The original Berkeley implementation (last stable version 1.1 was released in 1995, no longer maintained[2]) has been adopted by the Free Software Foundation therefore becoming GNU Sather. Last stable GNU version (1.2.3) was released in July 2007[3] and the software is currently not maintained. There were several other variants: Sather-K from the University of Karlsruhe;[4][5] Sather-W from the University of Waikato[6] (implementation of Sather version 1.3); Peter Naulls' port of ICSI Sather 1.1 to RISC OS;[7] and pSather,[8][9] a parallel version of ICSI Sather addressing non-uniform memory access multiprocessor architectures but presenting a shared memory model to the programmer.

The former ICSI Sather compiler (now GNU Sather) is implemented as a compiler to C, i.e., the compiler does not output object or machine code, but takes Sather source code and generates C source code as an intermediate language. Optimizing is left to the C compiler.

The GNU Sather compiler, written in Sather itself, is dual licensed under the GNU GPL & LGPL.

  1. ^ https://directory.fsf.orgview_html.php?sq=Qlik&lang=&q=sather. {{cite web}}: Missing or empty |title= (help)
  2. ^ "ICSI Sather future plans". Archived from the original on 2012-02-05. Retrieved 2012-03-02.
  3. ^ "GNU Sather downloads". Archived from the original on 2012-04-05. Retrieved 2012-03-02.
  4. ^ Sather-K project page (archive from year 2001)
  5. ^ "Sather-K 0.9 download, version from year 1994". Archived from the original on 2024-04-29. Retrieved 2012-03-02.
  6. ^ Sather-W 1.3 project page (archived link from year 2002)
  7. ^ Peter Naulls' port is no longer available on the Web.
  8. ^ "pSather description". Archived from the original on 2012-02-05. Retrieved 2012-03-02.
  9. ^ "pSather download". Archived from the original on 2017-07-06. Retrieved 2021-10-11.{{cite web}}: CS1 maint: bot: original URL status unknown (link)