Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+
Get a full dump of the dictionary:
List of Names
Short Form
Full Form
-
Sather
- Language type:
- Description:
Sather is an object-oriented language,
strongly typed, that supports many modern
OO software engineering features.
The syntax of Sather is somewhat similar to
Eiffel or Ada. However, in Sather all
types belong to object classes.
Primitive types include integers, floats,
strings, booleans, and the distinguished value
void. Arrays are supported, too, but as
a parameterized class rather than a
built-in data type.
The only ways to define new types are
class definition and class parameterization.
All memory management is automatic for
Sather programmers, all Sather implementations
include garbage collection.
Some advanced features of Sather are listed
below.
- Exception handling
- Closures and iterators
- Multiple inheritance (subtyping)
- Supertyping
- Operator overloading
- Immutable classes
- Abstract and partial classes
- Assertions, preconditions and postconditions
The Sather standard library provides an
assortment of container types, I/O
facilities, system interfaces, and more.
Implementations of Sather and the
source code for them are available free.
Documentation is available on-line and is
also included with most distributions.
- Origin:
S.M. Omohundro, C-C Lim, et al, UC Berkeley, 1990.
- See Also:
- Remarks:
Sather was originally built as a version
of Eiffel, and it was named after
the Sather tower at UC Berkeley. The
language evolved a great deal in the early
1990s, and can no longer be considered a close
relative of Eiffel (except that they are both
modern, robust OO languages.)
Sather is implemented as a translator on top
of C, and has therefore been ported to a
wide variety of Unix and other platforms.
The current Sather manuals are fairly good
with respect to documenting the language
itself, but there is not enough
documentation on the standard
library.
- Links:
-
-
-
- Date:
- Sample code:
-- Still working on a good code example here...
-- A simple class from the Sather Essential manual
class POINT is
attr x,y:INT;
create(x,y:INT):POINT is
res:POINT := new; res.x := x; res.y := y; return res;
end;
add(xval,yval:INT):POINT is
xsum:INT := x xval;
ysum:INT := y yval;
res:POINT := #POINT(xsum, ysum);
return res;
end;
offset_by(val:INT):POINT is
return add(val,val);
end;
end;
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is ziring@home.com
[Ziring MicroWeb Home]
[Dictionary Start]
[Sign Guestbook]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.