Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $4.88 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Object-Oriented Software Construction (Book/CD-ROM) (2nd Edition) [Paperback]

Bertrand Meyer
4.4 out of 5 stars  See all reviews (49 customer reviews)

List Price: $139.32
Price: $111.46 & FREE Shipping. Details
You Save: $27.86 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Want it Tuesday, July 15? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Paperback $111.46  
Books for Pragmatic Programmers
Find resources for various programming needs, including agile teams, programming languages, and the life of a programmer, in the Pragmatic Bookshelf.

Book Description

April 13, 1997 0136291554 978-0136291558 2

This is, quite simply, the definitive reference on the most important development in software technology for the last 20 years: object-orientation. A whole generation was introduced to object technology through the first edition of this book. This long-awaited new edition retains the qualities of clarity, practicality and scholarship that made the first an instant best-seller, but has been thoroughly revised and expanded. Among the new topics covered in depth are: Concurrency, distribution, client/server and the Internet; object-oriented databases; design by contract; fundamental design patterns; finding classes; the use and misuse of inheritance; abstract data types; and typing issues. The book also includes completely updated discussions of reusability, modularity, software quality, object-oriented languages, memory management, and many other essential topics. All software developers and computer science students, worldwide.

Frequently Bought Together

Object-Oriented Software Construction (Book/CD-ROM) (2nd Edition) + Touch of Class: Learning to Program Well with Objects and Contracts
Price for both: $172.18

Buy the selected items together

Editorial Reviews Review

The developer of the acclaimed Eiffel programming language comes through with one of the clearest and most informative books about computers ever committed to paper. Object-Oriented Software Construction is the gospel of object-oriented technology and it deserves to be spread everywhere. Meyer opens with coverage of the need for an object-oriented approach to software development, citing improved quality and development speed as key advantages of the approach. He then explains all the key criteria that define an object- oriented approach to a problem. Meyer pays attention to techniques, such as classes, objects, memory management, and more, returning to each technique and polishing his readers' knowledge of it as he explains how to employ it "well." In a section on advanced topics, Meyer explores interesting and relevant topics, such as persistent objects stored in a database. He also offers a sort of "Do and Don't" section in which he enumerates common mistakes and ways to avoid them. Management information isn't the main point of Object-Oriented Software Construction, but you'll find some in its pages. Meyer concludes his tour de force with comparisons of all the key object-oriented languages, including Java. He also covers the potential of simulating object technology in non-object-oriented languages, such as Pascal and Fortran. The companion CD-ROM includes the full text of this book in hypertext form, as well as some tools for designing object-oriented systems. If you program computers, you need to read this book.

From the Publisher

The comprehensive reference on all aspects of object technology, from design principles to O-O techniques, Design by Contract, O-O analysis, concurrency, persistence, abstract data types and many more. Written by a pioneer in the field, contains an in-depth analysis of both methodological and technical issues. Comes with a CD-ROM containing: the complete hyperlinked text, for easy reference; software to read the text on major industry platforms; supplementary material (reusable components, mathematical complements); and a complete graphical O-O development environment supporting the concepts of the book.

Product Details

  • Paperback: 1296 pages
  • Publisher: Prentice Hall; 2 edition (April 13, 1997)
  • Language: English
  • ISBN-10: 0136291554
  • ISBN-13: 978-0136291558
  • Product Dimensions: 1.9 x 7 x 9.2 inches
  • Shipping Weight: 4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (49 customer reviews)
  • Amazon Best Sellers Rank: #86,427 in Books (See Top 100 in Books)

More About the Author

Bertrand Meyer is Chief Architect of Eiffel Software (based in California, and Professor of Software Engineering at ETH Zurich, the Swiss Federal Institute of Technology. He is also head of the Software Engineering Laboratory at ITMO University, Saint Petersburg.

He is the initial designer of the Eiffel method and language and has continued to participate in its evolution. He also directed the development of the EiffelStudio environment, compiler, tools and libraries through their successive versions.

His latest book, published in May 2014, is an irreverent, in-depth introduction to agile methods: "Agile! The Good, the Hype and the Ugly", the first book to take a critical look at agile development and sort out the productive and damaging ideas.

His previous book is an influential an introduction to programming, "Touch of Class: Learning to Program Well, Using Object Technology and Contracts", based on more than a decade of teaching introductory programming at ETH and now supported by a MOOC (

Earlier books include "Object-Oriented Software Construction" (a general presentation of object technology, winner of the 1998 Jolt Award); "Eiffel: The Language" (description of the Eiffel language); "Object Success" (a discussion of object technology for managers); "Reusable Software" (a discussion of reuse issues and solutions); "Introduction to the Theory of Programming Languages". He has also authored numerous articles (see publication list) and edited or co-edited several dozen conference proceedings, including the 2005 "Verified Software".

Other activities include: chair of the TOOLS conference series (running since 1989, hosted at ETH since 2007, next year session in Malaga, Spain); director of the LASER summer school on software engineering (taking place every year since 2003 in early September in Elba island, Italy); member, and chair since 2009, of the IFIP TC2 committee (Software technology); member of the IFIP Working Group 2.3 on Programming Methodology; member of the French Academy of Technologies. He is also active as a consultant (object-oriented system design, architectural reviews, technology assessment), trainer in object technology and other software topics, and conference speaker.

Awards include ACM Software System Award, IEEE Harlan D. Mills prize, Fellow of the ACM, Dahl-Nygaard Prize, and an honorary doctorate from ITMO University(Russia).

Prior to founding Eiffel Software in 1985, Meyer had a 9-year technical and managerial career at EDF, and was for three years on the faculty at the University of California. His experience with object technology through the Simula language, as well as early work on abstract data types and formal specification (including participation in the first versions of the Z specification language) provided some of the background for the development of Eiffel.

At ETH Zurich he pursues research on the construction of high-quality software (see Web site of the Chair of Software Engineering at

Customer Reviews

Most Helpful Customer Reviews
66 of 68 people found the following review helpful
4.0 out of 5 stars Don't be put off by some aspects of this book... February 7, 1999
By A Customer
A couple of aspects of this book might lead you *not* to read it. That would be too bad, since it contains valuable informaton. Specifically:
(1) it spends a lot of time discussing particulars of the Eiffel language or the considerations leading Meyer to design Eiffel as he did. Observation: Even if you skip these parts, you could find useful information in the rest of the book, and many people may enjoy these insights into Meyer's approach.
(2) the attitude is often rather dogmatic and judgmental. As one authority commented on the first edition, it "tends to confuse Eiffel with universal principles." Observation: though unfortunate, this does not detract from the value of the content.
Further comments:
(3) If you don't know any object oriented language, the book is a natural choice, since it is very clear and does not require prior knowledge of any particular language.
(4) If you know another OO language, especially C++, you may get more for your time and money by choosing another book, at least to start. But you still could find valuable material here. For alternatives, you might check out the comments on Gamma's Design Patterns and Martin's Designing Object-Oriented C++ Applications: Using the Booch Method, or standard books by Booch, etc.
Comment | 
Was this review helpful to you?
34 of 34 people found the following review helpful
5.0 out of 5 stars Read it again August 17, 1999
The greatest achievement of this book is to show you, the reader, how easy, straightforward and appealing the OO technology is... once you have overcome the natural reaction of thinking it is "obvious".
Hence my advice is to read it once, put it aside, and re-read it again.
Learning OO efficiently means forgetting what you know (or think you know) about OO and trying to follow the Author's idea, and how his views on software engineering interact. You don't have to agree with the Author right away to learn from him.
Of course, not everyone can use Eiffel. But only the concepts matter, not their actual implementation. And if you think this book's leitmotiv is "Look how Eiffel is the purest language that embodies all the necessary concepts" (how convenient!), then recall that Eiffel indeed started as a notation and only evolved towards an implementation after the fundamental concepts were layed down. Therefore, no wonder Eiffel seems a natural fit!
The audience for this book is any experienced (5 years or more) software engineer, or software architects, whith an experience in designing complex systems and making them evolve over time. Some technical background is required though, otherwise you may only see things superficially and miss the underlying gems.
Remember that OO is not a static technology, so to speak. Its natural support for encapsulation and evolution is what makes it an ideal technology in today's modern software management.
Read this book again!
Comment | 
Was this review helpful to you?
25 of 25 people found the following review helpful
5.0 out of 5 stars highly recommended as a first introduction to OOP May 27, 2005
When writing a treatise on computer programming one has to strike a balance between providing a book that is both useful (which usually means writing within the context of a compilable programming language), but general enough so as not to oversimplify or truncate parts of the theory because it is not represented by the chosen language. In OOSC2 Meyer does just this, by providing a sound and general introduction to object-oriented programming, while using the Eiffel language for purposes of notation and practical programming examples.

Meyer has a very engaging writing style: very clear, with lots of good (and humorous : ) examples. And the Eiffel language itself seems quite simple, readable (it was obviously influenced by ADA) and brilliantly designed (think of Java, but with multiple inheritance, generics, and without the run-time inefficiency of the java virtual machine).
But whether you program in Eiffel, Java, C#, or C++, OOPSC2 has alot to offer in terms of OO software design, and a good understanding of the issues behind inheritance, polymorphism, the importance of static typing, and dynamic binding.

For example, I program in C++, and this book has helped me clearly understand the object-oriented features of the language, because in clearly explaining the principles, it helped me understand the intentions of the C++ language designers.

May be my only complaint, at perhaps half a star, is the fact that Meyer often weighs in heavily against other languages for their shortcomings, while going easy on his own Eiffel language. For example, he failed to give an objective analysis regarding the run-time costs of garbage collection. Indeed, the chapter on garbage collection seemed more of handwaving defense of the fact that Eiffel uses this technology.
Read more ›
Comment | 
Was this review helpful to you?
21 of 22 people found the following review helpful
5.0 out of 5 stars An Explanation of OOP that is both Broad and Deep April 12, 2000
By Max
This is a comprehensive explanation of Object Oriented Programming principles. It is complete in breadth, thorough in depth, well-organized and well-written. It requires discipline on the part of the reader to stick with it for 1000+ pages, but it is not such a chore as it first may seem and the payoff is worth the effort. No programmer would regret this read.
Other reviewers have mentioned that Meyer was unable to separate OO principles from the Eiffel language used as the book's notation. I disagree with that analysis, though perhaps he went further into describing the notation than was necessary to make the basic point in a few instances. As a reader, I was never left in confusion about which points were conceptual and which were notational.
I also appreciate the fact that this book was NOT written using a more popular language. The above criticism would have been more true but less noticed if he had. A more familiar langauge would have distracted readers from the real topic. It is useful to learn about priciples that are not directly supported in C++ or Java. Such a presentation helps you more effectively apply the features of the language that you are using and the other features can often be simulated when it seems useful to do so.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars A Software Classic
This book is truly a treatise for object oriented development. In fact, it's arguably the most comprehensive and profound OO development book on the market. Read more
Published 11 days ago by geewhiz
4.0 out of 5 stars The premier Eiffel resource and solid OO too
I knew what I was getting into when I got this book, i.e. that it was a large book that described OO principles while teaching Eiffel surreptitiously. Read more
Published 1 month ago by Brad Neufeld
3.0 out of 5 stars Glimpses of solid value on object oriented programming within a forest...
I found a copy of this book in a university library and had high hopes though a bit dismayed by the heft of the book at some 1220 pages. Read more
Published 3 months ago by Richard Chambers
4.0 out of 5 stars Looking for computer theory
I am working on my programming skills and i was recommended this book. I have books for C and Design patterns.
Published 8 months ago by jason s arnold
5.0 out of 5 stars Best programming book so far!
Before now, I've only had "programming for dummies" books that take you through basic syntax, data types and some library objects and is generally very suitable for... Read more
Published 19 months ago by Silverdawn
5.0 out of 5 stars The source
Single best book on software development I have read. Keep coming back, it repays study.
Published on August 19, 2010 by Willem J. Homan
2.0 out of 5 stars Should be titled: "Object Oriented Programming in Eiffel"
After reading the first couple of hundred pages, I felt something was not right. The notation the author used to explain his OO theories seemed like I was actually being forced to... Read more
Published on October 7, 2008 by Clint Pachl
5.0 out of 5 stars The better book you can get about OO
There's no way someone can get to know about objects without reading meyer's book. It's huge but worth
Published on January 26, 2006 by Phillip Calcado Vilar Souza
4.0 out of 5 stars very good, but not the holy grail of software engineering
In this book Bertrand Meyer did an excelllent job in explaining object oriented software design in a rigourous way. Read more
Published on May 25, 2004 by xxx yyy
4.0 out of 5 stars A must have book for professionals in OO
Unfortunately, the majority of books in computing science area suffers a lack of
precise definition and clarity of terms and concepts. Read more
Published on September 16, 2003 by Rdabra
Search Customer Reviews
Search these reviews only

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category