Object-Oriented Software Construction, also called OOSC, is a book by Bertrand Meyer, widely considered a foundational text of object-oriented programming. The first edition was published in 1988; the second edition, extensively revised and expanded (more than 1300 pages), in 1997. Many 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 times. As of 15 December 2011[update], The Association for Computing Machinery's (ACM) Guide to Computing Literature counts 2,233 citations, for the second edition alone in computer science journals and technical books; Google Scholar lists 7,305 citations. As of September 2006[update], the book is number 35 in the list of all-time most cited works (books, articles, etc.) in computer science literature, with 1,260 citations. The book won a Jolt award in 1994. The second edition is available online free.
Unless otherwise indicated, descriptions below apply to the second edition.
Focus
The book 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 types as the theoretical basis for object technology and proceeds with the main object-oriented techniques: classes, objects, genericity, inheritance, Design by Contract, concurrency, and persistence. It includes extensive discussions of methodological issues.
Table of contents
Preface etc.Part A: The issues 1 Software quality2 Criteria of object orientationPart B: The road to object orientation 3 Modularity4 Approaches to reusability5 Towards object technology6 Abstract data typesPart C: Object-oriented techniques 7 The static structure: classes8 The run-time structure: objects9 Memory management10 Genericity11 Design by Contract: building reliable software12 When the contract is broken: exception handling13 Supporting mechanisms14 Introduction to inheritance15 Multiple inheritance16 Inheritance techniques17 Typing18 Global objects and constants | Part D: Object-oriented methodology:applying the method well 19 On methodology20 Design pattern: multi-panel interactive systems21 Inheritance case study: “undo” in an interactive system22 How to find the classes23 Principles of class design24 Using inheritance well25 Useful techniques26 A sense of style27 Object-oriented analysis28 The software construction process29 Teaching the methodPart E: Advanced topics 30 Concurrency, distribution, client-server and the Internet31 Object persistence and databases32 Some O-O techniques for graphical interactive applications | Part F: Applying the method in variouslanguages and environments 33 O-O programming and Ada34 Emulating object technology in non-O-O environments35 Simula to Java and beyond: major O-O languages and environmentsPart G: Doing it right 36 An object-oriented environmentEpilogue, In Full Frankness Exposing the LanguagePart H: Appendices A Extracts from the Base libraryB Genericity versus inheritanceC Principles, rules, precepts and definitionsD A glossary of object technologyE BibliographyIndex |
Notation
The first edition of the book used the programming language 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 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. Also, in the Appendix, titled "Epilogue, In Full Frankness Exposing the Language" (in first initials), the first letters of each paragraph spell the same pattern.
See also
- Meyer, Bertrand (1988). Object-Oriented Software Construction. Prentice Hall. ISBN 978-0-13-629049-0.
- Meyer, Bertrand (1997). Object-Oriented Software Construction, second edition. Prentice Hall. ISBN 978-0-13-629155-8.
External links
- Official website, Bertrand Meyer (author), free online 2nd edition 1997 isbn 978-0136291558
- Book's page at Eiffel Software
- Page on Spanish translation
- Bertrand Meyer's publication page
References
Web search, August 2006 ↩
"Object-oriented software construction (2nd ed.)". Association for Computing Machinery (ACM). 2024. https://dl.acm.org/doi/book/10.5555/261119#citings ↩
Citeseer, September 2006 http://citeseer.ist.psu.edu/articles.html ↩
"Previous Winners: Books". Dr. Dobb's Journal (DDJ). 2001. Archived from the original on 2009-05-25. https://web.archive.org/web/20090525043039/http://www.ddj.com/joltawards/prev_bks.htm ↩
Meyer, Bertrand (1997). Object-Oriented Software Construction (2nd ed.). Prentice-Hall. ISBN 978-0136291558. 978-0136291558 ↩