Object-Oriented Software Construction
   HOME

TheInfoList



OR:

''Object-Oriented Software Construction'' is a book by Bertrand Meyer, widely considered a foundational text of
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
. The first edition was published in 1988; the second, extensively revised and expanded edition (more than 1300 pages), in 1997. Numerous translations are available including Dutch (first edition only), French (1+2), German (1), Italian (1), Japanese (1+2), Persian (1), Polish (2), Romanian (1), Russian (2), Serbian (2), and Spanish (2). The book has been cited thousands of timesThe ACM's ''Guide to Computing Literature'' count
2,233 citations as of December, 15, 2011
for the second edition alone in computer science journals and technical books; Google Scholar (December 15, 2011) lists 7,305 citations; the book appears as number 35 in th

(books, articles etc.) in computer science, with 1260 citations (September 2006).
in computer science literature. The book won a
Jolt award ''Dr. Dobb's Journal'' (''DDJ'') was a monthly magazine published in the United States by UBM Technology Group, part of UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focused o ...
in 1994.Jolt winners 1997
''Unless otherwise indicated, descriptions below apply to the second edition.''


Focus

The book, often known as "OOSC", presents object technology as an answer to major issues of software engineering, with a special emphasis on addressing the software quality factors of correctness, robustness, extendibility and reusability. It starts with an examination of the issues of software quality, then introduces
abstract data type In computer science, an abstract data type (ADT) is a mathematical model for data types. An abstract data type is defined by its behavior (semantics) from the point of view of a ''user'', of the data, specifically in terms of possible values, pos ...
s as the theoretical basis for object technology and proceeds with the main object-oriented techniques: classes,
objects Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an ai ...
, genericity,
inheritance Inheritance is the practice of receiving private property, titles, debts, entitlements, privileges, rights, and obligations upon the death of an individual. The rules of inheritance differ among societies and have changed over time. Of ...
, Design by Contract, concurrency, and persistence. It includes extensive discussions of methodological issues.


Table of contents


Notation

The first edition of the book used Eiffel for the examples and served as a justification of the language design choices for Eiffel. The second edition also uses Eiffel as its notation, but in an effort to separate the notation from the concepts it does not name the language until the Epilogue, on page 1162, where "Eiffel" appears as the last word. A few months after publication of the second edition, a reader posted on
Usenet Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it wa ...
his discovery that the book's 36 chapters alternatively start with the letters "E", "I", "F", "F", "E", "L", a pattern being repeated 6 times. In addition, in the Appendix, titled "Epilogue, In Full Frankness Exposing the Language" (note the initials), the first letters of each paragraph spell out the same pattern.


See also

* Uniform access principle


References

* * {{Refend


External links


Author's Online copy available from September 2022Book's page at Eiffel SoftwareBertrand Meyer's publication page
1988 non-fiction books 1997 non-fiction books Object-oriented programming Software engineering books Prentice Hall books