Tech Report CS-89-48

Conceptual Evolution of Object-Oriented Programming

Peter Wegner

December 1989

Abstract:

We address the following questions for object-oriented programming: What are its goals? What are its origins? What are its paradigms? What are its design alternatives? What are its models of concurrency? What are its formal computational models? What comes after object-oriented programming? What are its design alternatives? What are its models of concurrency? What are its formal computational models? What comes after object-oriented programming? Starting from software engineering goals, we examine the origins and paradigms of object-oriented programming. Language design alternatives for objects, classes, inheritance, and object-based concurrency are then explored, and mathematical models for objects, types, inheritance, and reflection are reviewed. Finally, we briefly speculate on what may come after object-oriented programming.

Order hardcopy report from techreports@cs.brown.edu