Presentation is loading. Please wait.

Presentation is loading. Please wait.

Early History of Object Oriented Programming

Similar presentations


Presentation on theme: "Early History of Object Oriented Programming"— Presentation transcript:

1 Early History of Object Oriented Programming
Per Kjeldaas

2 Who Was First? Not C++ Not Smalltalk
Simula 67 is recognized as the first object-oriented language (1967)

3 What Was the Need? Simulation needed interactive processes
Algol, Fortran and Cobol were inadequate for modeling complexity Monte Carlo simulation was done by hand

4 Marriage of Two Disciplines
Kristen Nygaard was expert operations analyst Ole-Johan Dahl was an expert computer scientist and programmer

5 Simula I

6 Quasi-Parallel Processing
Basis for today’s Java threads Co-routines Ability to yield control from inside a process when simulated time advances Other processes will take control in the meantime Earlier than time sharing (Multics)

7 Simula 67 - Objects and Classes
Station and customer concepts merged into the object concept Classes of objects are described in the class declaration, just like what Java has adopted Most current OO programming features come from Simula

8 Reference Variables and “new”
ref (Invoice) inv; inv :- new Invoice(1511); Again, Java has adopted it in a similar way

9 Subclasses and Inheritance
order class batch order; begin integer batch size; end; order class single order; begin real finishing time, weight; end; single order class plate; begin real length, width; end;

10 Polymorphism Virtual functions - like methods in Java
The “inner” mechanism class Person; begin <statements 1> inner; <statements 2> end;

11 Heap and Garbage Collector
Algol’s stack was inadequate Object storage required heap Garbage collector was also needed Both features were in Simula 67

12 “Remote” Object Connection
inspect (element expression) when A1 do S1 when A2 do S2 when An do Sn otherwise S; Adopted by Java as: if (x instanceOf A) { …}

13 Components and Packages
Implemented as classes within a class In Simula 67, simulation-specific functionality implemented in the Simulation package (class)

14 Real-Time Simula Was planned in 1970
To be used for modeling an operating system Was never implemented, however

15 Why did it not spread? Expensive Misguided government policies
Donald Knuth of Stanford U wanted it, but did not want to pay -- did not get it! Few publications in English The Simula name

16 Finally Catching On Alan Kay used “bootleg” copy of Simula 67 for CDC as basis for Smalltalk Bjarne Stroustrup gave Simula credit as the main basis for C++

17 Finally Catching On James Gosling of Sun referenced Simula as Java’s basis at JavaOne Many universities used Simula as the OO teaching language during the 80’s and 90’s

18 Postscript OO would have reached the world much earlier if a number of administrative errors had not been made Dahl and Nygaard only got their recognition, the ACM Turing award, also known as the Nobel prize of computing, in 2002 They both died a few months later

19 References ACM - Association for Computing Machinery, Press release: A.M. Turing Award, February 6, Retrieved last on October 23, 2004 from Dahl, O.-J.: The Birth of Object Orientation: the Simula Languages, Retrieved last on October 23, 2004 from the University of Oslo’s web site at Dahl, O.-J., B. Myhrhaug & K. Nygaard: Some Features of the Simula 67 Language, Dec. 1968, Proceedings of the second conference on Applications of simulations, Winter Simulation Conference (ACM, IEEE), New York, NY Dahl, O.-J., K. Nygaard: SIMULA: an ALGOL-based simulation language, Communications of the ACM, v.9 n.9, p , September, 1966 Gosling, J., A. Baratz: Opening Keynote Session at JavaOne. May 29, 1996, San Francisco, CA. Retrieved last on October 23, 2004 from. Holmevik, J. R.: Compiling SIMULA: A Historical Study of Technological Genesis. IEEE Annals of the History of Computing, Vol. 16, No. 4, 1994, Pages: (Also retrieved last on October 23, 2004 from Krogdahl, S.: The birth of Simula, HiNC 1 Conference in Trondheim, Norway, June 2003 (IFIP WG 9.7, in cooperation with IFIP TC 3) (Also retrieved last on October 25, 2004 from Nygaard, K., O.-J. Dahl: The development of the SIMULA languages. The first ACM SIGPLAN conference on History of programming languages, 1978, Los Angeles, CA. Pages: Sklenar, J.: Introduction to OOP in SIMULA, 1997, retrieved last on October 23, 2004 from Stroustrup, B.: A History of C++: ACM SIGPLAN Notices, March The second ACM SIGPLAN conference on History of programming languages, 1993, Cambridge, MA. Pages: Vaucher, Jean G.: DIRO Simula home, Retrieved last on October 23, 2004 from


Download ppt "Early History of Object Oriented Programming"

Similar presentations


Ads by Google