From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_20,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,ef0074ec236ba6e3 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,ef0074ec236ba6e3 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b19fa62fdce575f9 X-Google-Attributes: gid103376,public X-Google-Thread: 108717,ef0074ec236ba6e3 X-Google-Attributes: gid108717,public X-Google-Thread: 1014db,ef0074ec236ba6e3 X-Google-Attributes: gid1014db,public X-Google-ArrivalTime: 1994-11-24 03:04:33 PST Path: nntp.gmd.de!xlink.net!howland.reston.ans.net!pipex!sunsite.doc.ic.ac.uk!warwick!news.ncl.ac.uk!dene3.ncl.ac.uk!nrk From: "R. Kerr" Newsgroups: comp.lang.ada,comp.lang.c,comp.programming,comp.lang.c++,comp.object Subject: Re: What is OO (Was Why don't large companies use Ada?) Followup-To: comp.lang.ada,comp.lang.c,comp.programming,comp.lang.c++,comp.object Date: 24 Nov 1994 10:48:28 GMT Organization: University of Newcastle upon Tyne Message-ID: <3b1r1s$lkk@whitbeck.ncl.ac.uk> References: <3aamuc$14l@matrix.fwi.uva.nl> <785104767snz@rippleco.demon.co.uk> NNTP-Posting-Host: dene3.ncl.ac.uk X-Newsreader: TIN [version 1.2 PL2] Xref: nntp.gmd.de comp.lang.ada:16931 comp.lang.c:69510 comp.programming:13038 comp.lang.c++:80090 comp.object:17666 Date: 1994-11-24T10:48:28+00:00 List-Id: Don Vick (dvick@lanier.com) wrote: > I'm sure lots of people will have answers for this one. Here's a > historical view (as best I can remember it). > In the mid to late '70s, people who developed large complex software > for a living were trying to find a good way to divide a large system > into smaller pieces to make it more manageable and (theoretically) > allow the coding to be done by teams instead of individuals. Lots of > people had theories on ways to divide, or decompose a system. > Ken Orr said, "Make the program structure like the output structure." > Michael Jackson (the computer scientist, not the singer) said, "Make the > program structure like the input data structure." > Glen Myers said, "Make the program structure like the functional structure > of the application." > Others (I've forgotten who said what) looked at data flow or process > structure in different ways to get clues on decomposition criteria. > And someone said, "Think of the objects that the application models; > identify the data (what we know about the objects) and the operations > (what we do to the objects), and make *that* your program structure. > This turned out to be a pretty good way to do things - programs could become > more maintainable and understandable, and it was easy to hand out objects > to different programmers for implementation, as long as they implemented > the agreed-upon operations for their object. > ..................... > In other words, "object oriented" was first of all a decomposition strategy, > and only incidentally a kind of language, or database, or design methodology. > Anyway, that's the way I remember it. That's not quite the way it was. The fundamental concepts were developed in the discrete event simulation context for the purpose of mastering the inherent complexity in modelling dynamic systems. The physical and conceptual decomposition techniques supported by these concepts were recognised to be equally relevant in the software architecture scene generally. This all happened in the 1960s but it took rather a long time for the rest of the world to catch on and, in many cases, they still haven't. The term "object-oriented" had not been coined at that time but those of us involved in this work did use the word "object" in exactly the way it is used now. Detailed accounts of these developments can be read in: "The Development of the SIMULA Languages", K. Nygaard & O-J-Dahl, Academic Press, New York, 1981. and "Compiling SIMULA: A Historical Study of Technological Genesis", Jan Rune Holmevik, IEEE Annals of the History of Computing, vol.16, no. 4, 1994. These papers give an all-round account of the conception, gestation and birth pangs of the OOP paradigm. (For those who may be unaware of this, everything object-oriented is derived from SIMULA in some sense. Even now, those wishing to get a sound grasp of OOP principles could do a lot worse than have a look at SIMULA which still has a few notions not yet adopted generally.) Cheers....Ron ------------------------------------------------------------------------ Ron Kerr, Computing Service, Newcastle University, NE1 7RU, England. Tel. +44 191 222 8187 Fax. +44 191 222 8765 (NOTE new area code) ------------------------------------------------------------------------