topical media & game development

talk show tell print

object-oriented programming

Instructor's Guide: Object-oriented programming languages


This chapter is about object-oriented programming languages. It presents an overview of existing languages and discusses their heritage from Simula. Further, it contains a detailed comparison of the three major object-oriented languages; Smalltalk, Eiffel, C++ and Java. It discusses the design dimensions of object-oriented languages and proposes orthogonal dimensions of design, following  [Wegner87]. Also, class-less prototype-based languages are dealt with. These languages use dynamic delegation instead of static inheritance for sharing resources. Finally, the chapter discusses meta-level architectures for object-oriented languages.


According to  [Tai], the heritage of Simula may be observed in many well-established research and development areas. You may need to provide some additional material with respect to these areas if your audience is not familiar with them.

Project assignments

As subjects for a paper, you may think of

where X may range over Turbo Pascal, Nexpert Object, or any language that claims to be object-oriented. Features to pay attention to include protection mechanisms and inheritance.

As practical assignments you may think of

where X may be any non object-oriented language. An interesting project would be to develop an object-oriented extension of yacc.


Many object-oriented languages and extensions to languages have been developed. For example, a variety of such extensions has been proposed for the language Tcl that is discussed in section hush. These extensions support radically different object models, ranging from a model based on CLOS to a model based on C++. See the {\tt comp.lang.tcl} newsgroup for a discussion of these extensions.
[] readme course(s) preface I 1 2 II 3 4 III 5 6 7 IV 8 9 10 V 11 12 afterthought(s) appendix reference(s) example(s) resource(s) _

(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.