Try Sather

Lisp Scheme
Guest Book
Do you know programming language Sather?
Actually, I did not know it until recently.

I learned Eiffel, an object oriented programming language, because the language is strongly recommended in The Pragmatic Programmer. I am not quite satisfied with the language because higher order functions are not supported, even I agree that the language is fine. Then I tried Sather which is also introduced in the appendix of the same book. Sather is a programming language based on Eiffel and it borrows some features from functional programming languages. The language supports higher order functions and iterators.

It works only on POSIX operation systems such as Linux, because it is somehow minor. Nevertheless, I wrote a small tutorial, just because I like the language. The features of Sather are:

  1. Object orientated language whose syntax is similar to that of Eiffel.
  2. It supports "programming by contract" like as Eiffel.
  3. The compiler generate a C source code (like as Eiffel).
  4. It borrows some elegant features such as higher order functions and iterators from functional programming languages.
  5. The performance is good.
In short, Sather is designed to write large scale programs safely by borrowing good features from many languages. Programs written in Sather perform as good as those in C++.

Try Sather if you can choose your programming language.
I think it is worth trying.

This tutorial requires knowledge of object oriented and functional programming. Learn Python first if you have difficulties.


  1. Sather vs C++: a performance comparison
  2. Installing Sather
  3. Playing with Sather
  4. Iteration
  5. Classes
  6. IO
  7. Abstract Classes
  8. Parameterized classes
  9. Operators
  10. Immutable classes
  11. Procedures as data
  12. Exception
  13. Programming by contract
  14. GUI
  15. Interface with other languages such as C and Fortran