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.COMbll@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