Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 UW 5/3/83; site uw-june Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxb!mhuxn!mhuxm!mhuxj!houxm!vax135!cornell!uw-beaver!uw-june!trow From: trow@uw-june (Jay Trow) Newsgroups: net.lang.st80 Subject: Re: Definition of Buzzwords: "Object-Oriented" Message-ID: <17@uw-june> Date: Sun, 27-Jan-85 01:30:29 EST Article-I.D.: uw-june.17 Posted: Sun Jan 27 01:30:29 1985 Date-Received: Mon, 28-Jan-85 07:45:12 EST References: <4288@ucbvax.ARPA> Reply-To: Cornish.sv@Xerox.arpa Organization: U of Washington Computer Science Lines: 43 Forwarded from Smalltalk80Interest^.x@Xerox.arpa ---------------------------------------------------------------- Date: 23 Jan 85 08:58:44 PST (Wednesday) From: Cornish.SV Subject: Re: Definition of Buzzwords: "Object-Oriented" This is not going to be a "rigorous definition". First, let's realize, that to say a software system is "object oriented" really means that the architecture of a software system is "object oriented". Now just what does the term "architecture of a software system" really mean? Any software system has a purpose. The architecture of a software system must be devoted to achieving that purpose, just as the architecture of a building must be devoted to achieving the purpose of that building. Let's take a historical perspective: what was the first object-oriented system and what was it's purpose? I propose a candidate which will come as no surprise to anyone, SIMULA-67. Oh yes, SIMULA-67, the father of SMALLTALK. Oh yes, SIMULA-67, the frequently cited language in papers on abstract data types. Oh yes, SIMULA-67 the language cited as an inspiration to the designers of the Burroughs 6700 computer, the first computer with an operating system written in ALGOL. But just what was the purpose of SIMULA-67, contrasted with the purpose of ALGOL-60 on which it was based? SIMULA-67 was designed to for discrete-event simulation applications. ALGOL-60 was first devised to express mathematical algorithms. What is simulation and how is it different from a mathematical algorithm? Can we agree that a simulated world consists of "objects"? What are the characteristics of such objects, at least relative to the simulation? Each has a *lifetime* and each has *behavior*. Each object is "doing it's own thing" acquiring and releasing resources, even being a resource itself. Each object can be identified with a separate process. Comments? Jan Cornish ----------------------------------------------------------------