View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Sp2000 Midterm Review: History of Object Systems

Review at Midterm Review - Sp2000.

Michael Emard and Michelle Burnett bring you the following:

(a) Sketchpad is a graphical editor created by Ivan Sutherland at MIT in 1963. It influenced the birth of Object Oriented Programming as it was the first object oriented graphics editor. You could create objects on the canvas that could be manipulated distinct from any other object. It allowed one to define a "master drawing" from which one could define a set of "instance drawings."

(b) Simula was a programming language designed to make simulations easier to implement. It was developed in 1966 in Norway. Simula allowed one to define an activity from which any number of working versions of that could be created. These were called processes. It allowed users to create these objects as a way to model the world.

(c) C++ started from the ideas of Simula, which started from the ideas of Sketchpad. Bjarne Stroustrup decided in 1979 that he wanted to create a highly-efficient version of Simula. In 1984 the first version of C++ was delivered. C++ is an object-oriented programming language.

The people in Norway never saw Sketchpad – try again, please. Mark Guzdial

(C again) C++ was developed with the intent of creating a highly-efficient version of Simula. C++, however, uses OBJECT orientation. This is more like scetchpad and less like the ACTIVITY defining of simula. Michael Emard

Don't get hung up over the words. Sutherland didn't think he was doing objects – he thought he was doing drawings. What would we call C++'s activities and processes today? Mark Guzdial

A frightening mess of compromises in the name of speed and backwards compatibility with C?

Oops! My typo! I meant SIMULA'S activities and processes. What would they be called today? Mark Guzdial

Activity = class
Process = instance of the class


Links to this Page