# Annex F:
History

(This annex is informative only)

### F.1 The Beginning

Version '0' of the Sather language was designed at the International Computer Science Institute (ICSI) at Berkeley during early 1990. A compiler for this version was written in the C programming language during the middle (summer) of that year.

The following year was taken up in re-writing the compiler for this version in Sather 0. The result became Sather 0.1 which was released publicly in June of 1991.

### F.2 The Name

One of the best known landmarks on the Berkeley campus of the University of California is the Sather tower (popularly known as the Campanile since it was modelled after the Campanile of St Mark's in Venice, Italy). Built in 1914, this tower is smaller and younger than the Eiffel tower in Paris.

The name of the language is a pun of sorts since it was originally envisaged as a smaller, more efficient, cleaned-up alternative to the programming language Eiffel. Since its conception the two languages have evolved quite distinctly, but the name has stuck.

The normal pronunciation of the name makes it rhyme with the English word 'bather'.

### F.3 Early Development

Since its first public release development began to snowball with language revisions from 0.2 to 0.5. The compiler for each of these variants was written in the language of the previous version - principally by modifying rather than re-writing - by a team at ICSI.

The first version of the parallel extension (called pSather) was completed by Chu Cheow Lim [LIM93] during the same time period.

### F.4 Sather 1.0

Sather 1.0 was a major language change, introducing bound routines, iterators, proper separation of typing and code inclusion, contravariant typing, strongly typed parameterisation and exceptions. In addition to this it was decided that the initial implementation should include stronger optional run-time checking. At the same time a new class library was designed.

The design team produced a heavily modified compiler design in an attempt to improve performance. The compiler for this version started out from the Sather 0.5 version, incorporating new features as they were fully implemented.

Alongside the 1.0 development went a corresponding revision of the parallel extension (pSather) design.

### F.5 Sather 1.1

Sather 1.1 was released in the middle of 1996. The team working on the compiler was more extensive as the intention was not only to freeze the design for a number of years, but also to improve the quality of the compiler and libraries. From this version the pSather extension formally became part of the Sather language itself - although colloquial usage still calls this 'pSather'.

### F.6 Sather-K

Under the direction of Gerhard Goos a team at the University of Karlsrühe created a compiler for Sather 0.1. The version of the language developed from this has become known as Sather-K - a dialect which since Sather 1.0 has differed considerably in detail from Sather.

### F.7 Sather Today

Since Sather 1.1 was defined, there has only been a change to the implemented concurrent library classes, which has rejoiced in a version number of its own (1.2) - rather than the revised implementation which is really all that it has been. The work which has gone into compiler. library, tools and other contributions has involved many individuals at ICSI and elsewhere - collectively known as the 'builders'.

The Sather language has remained essentially unchanged until this specification was written. The changes made since Sather 1.1 are very minor indeed. It is the intention that this specification will eventually be given a new number, when all of the details have been agreed.

Sather has now formed part of the work of the Free Software Foundation and implementations for a variety of platforms is accessible from the Gnu World Wide Web site.

See the bibliography for further detail and references.

| Language Index |  | Required Library Index

Comments or enquiries should be made to Keith Hopper . Page last modified: Wednesday, 17 May 2000. |