paul@tredysvr.Tredydev.Unisys.COM (Paul Siu) (10/22/90)
I posted a news article requesting information introductory information on understanding OOP and its relation to software engineering. I am now posting the responses from the helpful individuals on the net. I like to thank the following people who responded: Lise-Lotte Hjorth Rich Murphey Bill Hahn Michael Assels Magnus Ramstr ------------------------------------------------------------------------------ Hi there, on notes you asked for an introduction to OOP. As a student I read a very good article which explained the basic concepts of OOP. I do not remember the title of the article or all the names of the authors. But here is what I do remember: - one of the authors is Ole Lehrmann Madsen, Aarhus University, Denmark. I guess Birger Moller-Pedersen is one of the other authors. - the article is in the procedings from ECOOP'88. It is the article with Garfield illustrations. The procedings are from Springer-Verlag. The article explains the Scandinavian view of OOP, the difference between OOP / structured programming / functional programming / constrained programming. The article is used as introduction to OOP at Aarhus University, Computer Sience Dept. It is about 20 pages long. Lise-Lotte Hjorth ------------------------------------------------------------------------------ I just bought the new Booch book about object oriented design. It does begin by adressing the approach to software engineering design and its relation to design in other disiplines and to orgainization in biological and other physical systems. Grady Booch, Object Oriented Design with Applications Benjamin/Cummings , 1991 ISBN 0-8053-0091-0 Covers OOD mapping into processes. It seems to take a very broad approach to understanding OOD. Good luck! Rich ------------------------------------------------------------------------------ Have you tried "Object-Oriented Software Construction" by Bertrand Meyer? The first four chapters are concerned with explaining OOP. The subsequent chapters continue the explanation in terms of the language Eiffel. (Yes, Mr. Meyer is in business selling this language.) However, there is a detailed discussion of differences between Eiffel and Smalltalk and Simula, etc. I found it much easier to understand other OOPL's after reading this book. One thing you might like is his explanation of his first four wrong(!) attempts in designing a linked-list class; you'll learn that object-oriented design doesn't necessarily come easily. Also he has an entire chapter where he does examples (undo feature in an editor, airline ticket system). A good book, even if you never write an Eiffel program.... -- Bill Hahn bhahn@bogus.sw.stratus.com Stratus Computers "I would no more lie to my government than my Marlboro, MA, USA government would lie to me." - graffito in Maryland --------- These are my opinions and not necessarily those of Stratus.------ ------------------------------------------------------------------------------ A good book that explains OOP in general is Object Oriented Software Construction, by Bertrand Meyer Meyer is the creator of Eiffel, and he uses Eiffel in his examples, but the book is about OO principles, not about Eiffel. You are absolutely right to be confused about the exact meaning of the word 'paradigm'. Its literal meaning is 'an example used to illustrate a general rule'. For example, when Latin was taught in schools, the verb 'amare' was used as the paradigm of 1st conjugation verbs; students recited "amo, amas, amat, ...". Once they had learned that, they would know how to conjugate any -are verb: Just replace -are with -o, -as, -at, ... In Computer Science, and in many other disciplines, people have been abusing the word 'paradigm' ever since the appearance of Thomas Kuhn's influential book "The Structure of Scientific Revolutions". (Kuhn used the word correctly, but many of his readers missed the point.) It now means something like "style of doing things". Hence, we have the procedural, functional, logical, and OO programming paradigms. Typical examples (REAL paradigms) are, respectively, Pascal, LISP, Prolog, and Smalltalk. As for "petra nets", could these be Petri nets? I can't tell you much about them except that they are used in modeling data flow. I hope some of this may be helpful. Regards, Michael Assels Logic, Formal Methods, and Coffee Lab Dept. of Comp. Sci. Concordia University ------------------------------------------------------------------------------ References to issues of BYTE dealing with object oriented programming: vol. 14, nr. 3, March 1989. vol. 11, nr. 8, August 1986. vol. 15, nr. 4, April 1990. vol. 6, nr. 8, August 1981. Many excellent articles explaining object oriented programming have been posted in Usenet, my personal "favorite" is Edward V. Berard (eberard@grebyn.com) who (to my knowledge) has posted three articles on different aspects of object oriented programming and one followup, which in itself could be an article. Personally I would say that it is easy to write down the definition of object orientation in a fairly understandable manner, but you have to use it before you fully understand it (it really comes quite natural once you have passed the threshold built from knowledge of less natural programming strategies). Good luck (hope this can be of some use to you)-- d87-mra@nada.kth.se (Magnus Ramstr|m). Student @ Dep. of Computer Science. ---------------------------------------------------------------------------- --Paul Siu paul@tredysvr.Tredydev.Unisys.COM
bll@seer.UUCP (Brad Lanam) (10/25/90)
> my personal "favorite" is Edward V. Berard >(eberard@grebyn.com) who (to my knowledge) has posted three articles on >different aspects of object oriented programming and one followup, which >in itself could be an article. I have the following articles by Ed Berard saved off. If anyone has others by Ed Berard that are not listed here, please e-mail me. Thanx. -- Brad -- Until the next disk seek... -- Brad Lanam ...!uunet!{seeker|unisoft}!seer!bll bll@seer.uucp Subject: Object-Oriented Methodologies Keywords: methodologies Date: 25 Oct 89 07:42:06 GMT Subject: What is "object-oriented ..." Keywords: object-oriented, history, etc. Date: 29 Oct 89 03:20:41 GMT Subject: Re: programming design methodologies for object-oriented programming Summary: JSD: Good News and Bad News Date: 31 Oct 89 02:35:49 GMT Subject: Understanding the Object-Oriented Life-Cycle Keywords: life-cycle, object-oriented, models Date: 31 Oct 89 18:35:25 GMT Subject: Object-Oriented Design: An Introduction Keywords: object-oriented design, history, bibliography Date: 21 Nov 89 13:09:05 GMT Subject: Object-Oriented Requirements Analysis: An Introduction Keywords: object-oriented, analysis, bibliography Date: 23 Nov 89 15:34:57 GMT Subject: A Closer Look At the Recursive/Parallel (OO) Life-Cycle Keywords: object-oriented, recursive/parallel, life-cycle Date: 22 Dec 89 03:08:42 GMT Subject: Object-Oriented Domain Analysis: An Introduction Keywords: object-oriented, domain analysis, reuse, bibliography Date: 24 Dec 89 01:13:51 GMT Subject: Evaluating "Object-Oriented" Programming Languages Keywords: object-oriented, programming languages, evaluation, bibliography Date: 3 Jan 90 03:18:09 GMT Subject: Re: Evaluating "Object-Oriented" Programming Languages Summary: Answers and References Keywords: object-oriented, programming languages, evaluation, bibliography Date: 7 Jan 90 03:31:53 GMT Subject: Re: Evaluating "Object-Oriented" Programming Languages Summary: clarifications Keywords: object-oriented, programming languages, evaluation, bibliography Date: 11 Jan 90 15:30:43 GMT -- Until the next disk seek... -- Brad Lanam ...!uunet!{seeker|unisoft}!seer!bll bll@seer.uucp