GNU Sather
Sather is a programming language named after a nearby tower (nearby if you are on campus at Berkeley, California) and arose out of an Eiffel user’s sense that, while that language had some very strong points that met his requirements, it also had serious deficiencies, particularly in respect of its relatively poor performance and lack of free availability, which made it an inadequate replacement for C++ in his area of concern. That area was the very general one of scientists in any field working on their primary research projects in connection with which they needed to write computer progams.
“Sather is an object oriented language which is designed to be simple, efficient, safe, and non-proprietary. It aims to meet the needs of modern research groups and to foster the development of a large, freely available, high-quality library of efficient well-written classes for a wide variety of computational tasks. It was originally based on Eiffel but now incorporates ideas and approaches from several languages. One way of placing it in the ‘space of languages’ is to say that it attempts to be as efficient as C, C++, or Fortran, as elegant and safe as Eiffel or CLU, and to support higher-order functions as well as Common Lisp, Scheme, or Smalltalk.
“Sather has garbage collection, statically-checked strong typing, multiple inheritance, separate implementation and type inheritance, parameterized classes, dynamic dispatch, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather code can be compiled into C code and can efficiently link with C object files.”
GNU Sather is a compiler, class library, specification and programming manual for the language, plus a browser for displaying sources and directed graphs of a program's class inheritances.
Downloading Sather
Sather can be found on the main GNU ftp server: http://ftp.gnu.org/gnu/sather/ (via HTTP) and ftp://ftp.gnu.org/gnu/sather/ (via FTP). It can also be found on the GNU mirrors; please use a mirror if possible.
Documentation
You may also find more information about Sather by running info sather or man sather, or by looking at /usr/share/doc/sather/, /usr/local/doc/sather/, or similar directories on your system.
Mailing lists
Sather has the following mailing lists:
- bug-sather is used to discuss most aspects of Sather, including development and enhancement requests, as well as bug reports.
- info-sather is for general user help and discussion.
Announcements about Sather and most other GNU software are made on info-gnu (archive).
Security reports that should not be made immediately public can be sent directly to the maintainer. If there is no response to an urgent issue, you can escalate to the general security mailing list for advice.
Getting involved
Development of Sather, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).
- Test releases
- Trying the latest test release (when available) is always appreciated. Test releases of Sather can be found at http://alpha.gnu.org/gnu/sather/ (via HTTP) and ftp://alpha.gnu.org/gnu/sather/ (via FTP).
- Development
- For development sources, issue trackers, and other information, please see the Sather project page at savannah.gnu.org.
- Translating Sather
- To translate Sather's messages into other languages, please see the Translation Project page for Sather. If you have a new translation of the message strings, or updates to the existing strings, please have the changes made in this repository. Only translations from this site will be incorporated into Sather. For more information, see the Translation Project.
- Maintainer
- Sather is currently being maintained by Michael Talbot-Wilson. Please use the mailing lists for contact.
Licensing
Sather is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.