Language Description Platforms
Common Lisp See either Common Lisp the Language, 2nd Edition or Common Lisp HyperSpec (tm) for a reference. The Association of Lisp Users has almost any other information you could want.
Dylan "Dylan is a general-purpose high-level programming language, designed for use both in application and systems programming. Dylan includes garbage collection, type-safety, error recovery, a module system, and programmer control over runtime extensibility of programs." DRM-TR 

"Dylan combines the major efficiency advantages of static languages (C/C++, Pascal) with the flexibility advantages of dynamic languages (Scheme, Smalltalk)." 
       Steve Strassmann, PhD 
       straz@apple.com 

  • Mac
    • Apple Dylan
    • MacMarlais
    • MacMindy
    • Thomas
  • Win dows 95/NT
    • Harlequin Dylan
    • CMU Mindy
    • CMU d2c
  • UNIX
    • CMU Mindy
    • CMU d2c
    • Marlais
Smalltalk Smalltalk is usually what most people are talking about when they refer to Object Oriented.  For an introduction into Smalltalk see IBM's tutorial
BETA "BETA is a modern object-oriented language from the Scandinavian school of object-orientation where the first object-oriented language Simula [DMN70] was developed. BETA supports the object-oriented perspective on programming and contains comprehensive facilities for procedural and functional programming. BETA has powerful abstraction mechanisms for supporting identification of objects, classification and composition. BETA is a strongly typed language like Simula, Eiffel [Mey88] and C++ [Str86a], with most type checking being carried out at compiletime. It is well known that it is not possible to obtain all type checking at compile time without sacrificing the expressiveness of the language. BETA has an optimum balance between compiletime type checking and runtime type checking." Overview of the BETA Programming Language
Objective-C C with Smaltalk entensions.  For an introduction see 'OOP and the Objective-C Language'
  • OpenStep/Rhapsody
    • gcc
    • MetroWerks
Self "Abstract: Self is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages. Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. Self's simplicity and expressiveness offer new insights into object-oriented computation." by David Ungar and Randall B. Smith
NewtonScript Dynamic Object Oriegnted languaged with roots in Self, Lisp And Smalltalk.  NewtonScript is garbage collected with an object model based on prototype inheritance. Currently only available on the Newton PDAs.
Cecil "...an object-oriented language intended to support the rapid construction of high-quality, reusable, extensible software systems [Chambers 92b, Chambers 93b, Chambers & Leavens 94]. Cecil is unusual in combining a pure, classless object model, multiple dispatching (multi-methods), modules, and mixed static and dynamic type checking. Cecil was inspired initially by Self [Ungar & Smith 87, Hölzle et al. 91a], CLOS [Bobrow et al. 88, Gabriel et al. 91], and Trellis [Schaffert et al. 85, Schaffert et al. 86]. The current version of Cecil extends the earlier version [Chambers 93a] with predicate objects, modules, and efficient typechecking algorithms." Cecil LRM
Java "Java is a general-purpose, concurrent, class-based, object-oriented language. It is designed to be simple enough that many programmers can achieve fluency in the language. Java is related to C and C++ but is organized rather differently, with a number of aspects of C and C++ omitted and a few ideas from other languages included. Java is intended to be a production language, not a research language, and so, as C. A. R. Hoare suggested in his classic paper on language design, the design of Java has avoided including new and untested features." Java Language Spec
Prograph Pictorial Object-Oriented Language
Eiffel see About Eiffel or Eiffel in a Nutshell
Sather "Sather has parameterized classes, object-oriented dispatch, statically-checked strong (contravariant) typing, separate implementation and type inheritance, multiple inheritance, garbage collection, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather programs can be compiled into portable C code and can efficiently link with C object files." The Sather Team (sather@icsi.berkeley.edu)
 

Josh Korb June 23, 1998