View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

OOP Lang S

Back to OOP Languages

OOP Lang S


("Say-ther", named for the Sather Tower at UCB, as opposed to the
Eiffel Tower) Steve M. Omohundro, ICSI, Berkeley 1991. Interactive
object-oriented language with simple syntax, similar to Eiffel, but non-
proprietary and faster. Sather 0.2 was nearly a subset of Eiffel 2.0, but
Sather 1.0 adds many distinctive features. Parameterized classes, multiple
inheritance, statically-checked strong typing, garbage collection.
Generates C as an intermediate language. Versions for most workstations.
(See dpSather, pSather, Sather-K).


Karlsruhe Sather. A sublanguage of Sather used for introductory
courses in object-oriented design and typesafe programming.


Structured Concurrent Object-Oriented Prolog. "SCOOP, Structured
Concurrent Object-Oriented Prolog", J. Vaucher et al, in ECOOP '88, S.
Gjessing et al eds, LNCS 322, Springer 1988, pp.191-211.


Scheme Object-Oriented Programming System. TI, 1986. Multiple
inheritance, class variables.


Kaleida Labs. Object-oriented, dynamic, time-based,
multithreaded multiplatform language for interactive multimedia. Available
soon for Windows and Macintosh.


Small, dynamically-typed object-oriented language, based on
prototypes and delegation. Objects may inherit state, and dynamically
change their patterns of inheritance. Threads. "Self: The Power of
Simplicity", David Ungar <> et al, SIGPLAN Notices
22(12):227-242 (OOPSLA '87) (Dec 1987). First implemented: Craig Chambers,
1991 ("Self-91"). Version: 3.0 ("Self-93") in C++ and Self
for Sparc


A general-purpose successor to SIMULA I, in which the
simulation support is defined in object-oriented terms. Introduced the
record class, leading the way to data abstraction and object-oriented
programming. Garbage collection.


Current version of SIMULA 67. Used as the introductory
programming language at Lund Inst Tech, Sweden and U Bergen, Norway.
"Object-Oriented Programming with SIMULA", Bjorn Kirkerud, A-W 1989. "Data
Processing - Programming Languages - SIMULA", Swedish Standard SS 63 61 14
(1987), ISBN 91-7162-234-9, available through ANSI. Association for SIMULA
Users, Royal Inst of Tech, S-100 44 Stockholm, Sweden. Simula a.s.,
Postboks 4403 - Torshov, N-0402 Oslo 4, Norway, versions for almost every
Info: Henry Islo <>


"An Implementation of the Object-Oriented Concurrent Programming
Language SINA", A. Tripathi et al, Soft Prac & Exp 19(3):235-256 (1989).


Horn <>, CMU 1991. Object-oriented
constraint language using a single abstraction mechanism. A conceptual
blend of BETA and Bertrand. Similar to Kaleidoscope. "Constraint Patterns
as a Basis for Object-Oriented Constraint Programming", B. Horn, OOPSLA '92
(Sept 1992).


Software Concepts Group, Xerox PARC, led by Alan Kay, early
70's. Took the concepts of class and message from Simula-67 and made them
all-pervasive, the quintessential object-oriented language. Innovations
included the bitmap display, windowing system and use of mouse. Early
versions: Smalltalk-72, Smalltalk-74, Smalltalk-76 (inheritance taken from
Simula, and concurrency), and Smalltalk-78. "The Smalltalk-76 Programming
System Design and Implementation", D.H. Ingalls, 5th POPL, ACM 1978, pp.9-

Smalltalk DB

Formerly OPAL. Language of the object-oriented database
GemStone. "Making Smalltalk a Database System", G. Copeland et al, Proc
SIGMOD'84, ACM 1984, pp.316-325.


"SmallVDM: An Environment for Formal Specification and
Prototyping in Smalltalk", in Object Oriented Specification Case Studies,
K. Lano et al eds, P-H 1993.

SmallWorld - Object-oriented language. "SW 2

An Object-based Programming
Environment", M.R. Laff et al, IBM TJWRC, 1985.


Craske, 1988. An extension of SCOOPS with meta-objects that can
redirect messages to other objects. "SNOOPS: An Object-Oriented language
Enhancement Supporting Dynamic Program Reeconfiguration", N. Craske,
SIGPLAN Notices 26(10): 53-62 (Oct 1991).


Parallel object-oriented language. "Message Pattern
Specifications: A New Technique for Handling Errors in Parallel Object-
Oriented Systems", J.A. Purchase et al, SIGPLAN Notices 25(10):116-125
(OOPSLA/ECOOP '90) (Oct 1990).


Object-oriented logic. "An Experience with a Prolog Based
Language", K. Fukunaga et al, SIGPLAN Notices 21(11):224-231 (Nov 1986)
(OOPSLA '86).


Strand, a general- purpose,
portable, high-level symbolic parallel program language.


SuperCollider, a general- purpose, high-level program language mainly for musical programming.

Links to this Page