
| 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)."
|
|
|
| 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' |
|
|
| 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) | ||