CLOS, Eiffel, and Sather: A Comparison

TitleCLOS, Eiffel, and Sather: A Comparison
Publication TypeTechnical Report
Year of Publication1991
AuthorsSchmidt, H. W., & Omohundro S.
Other Numbers677

The Common Lisp Object System defines a powerful and flexible type system which builds on more than 15 years of experience with object-oriented programming. Most current implementations include a comfortable suite of Lisp support tools including an Emacs lisp editor, an interpreter, an incremental compiler, a debugger, and an inspector which together promote rapid prototyping and design. What else might one want from a system? We argue that static typing yields earlier error detection, greater robustness, and higher efficiency and that greater simplicity and more orthogonality in the language constructs leads to a shorter learning curve and more intuitive programming. These elements can be found in Eiffel and a new object-oriented language, Sather, that we are developing at ICSI. Language simplicity and static typing are not for free, though. Programmers have to pay with loss of polymorphism and flexibility in prototyping. We give a short comparison of CLOS, Eiffel and Sather, addressing both language and environment issues.The different approaches taken by the languages described in this paper have evolved to fulfill different needs. While we have only touched on the essential differences, we hope that this discussion will be helpful in understanding the advantages and disadvantages of each language.

Bibliographic Notes

ICSI Technical Report TR-91-047

Abbreviated Authors

H. W. Schmidt and S. M. Omohundro

ICSI Publication Type

Technical Report