Object-Oriented Software Construction
R**O
A must have book for professionals in OO
Unfortunately, the majority of books in computing science area suffers a lack ofprecise definition and clarity of terms and concepts. In my personal opinion, thecommercial aspects that strongly affect this area, comparing to other technologicalones, contributes to open the computing book market for authors of highly questionableexperience and a quite shalow knowledge about the matter they're treating. For example, itis not unusual to see the same author (or group of authors) writing books about Java, .NET,JSP, ASP, Perl, OO, C/C++ and so on.Bertrand Meyer's OO book is an exception in this tendency. The subjects treated are logicallydistributed and the concepts are clearly and precisely defined. Then, the reader gets anintuitive and deep understanding of OO theoretical aspects, independent of OO languagespecifics. All the concepts are perfectly prioritized and sequenced: software quality beforeOO, ADT before classes, features before functions, DBC before exception handling. Everysingle concept bases the following ones. I must say, however, that the author should be moreconcise: he writes too much to explain a single concept. He reveals his large academicliterate background inserting unnecessary large comments in the text. The book could havea quite less number of pages without any loss in learning the main concepts.I sincerely do not see any problem about the relation between the OO concepts presented andtheir practical implementation: EIFFEL language. At least, the author shows concretely thatthe concepts treated in the book are implementable. If there were not any language tocomplete and support the theoretical aspects, we could say : "Ok, all the conceptsin the book are perfect and beautiful, but the closest programming language tothese concepts we can use is JAVA, for example."
V**R
This work will make the Dow Jones Index double!
If I had Mr. Meyers' address, I'd send him a $1000 tip for this stellar work. I am the president of a software development firm and its most senior engineer. I am in the rare position of being able to intensely study and implement the technology presented in this book in a near pure form -- not using Eiffel, but using Microsoft Visual FoxPro. (It can be applied to any language which supports an object-oriented approach.) After doing most of the excercises in chapter 6 (and it DOES take doing the exercises to REALLY get it) it has dawned on me that if enough people take the time to really understand this technology in its pure form, a new day will dawn in the software industry. I'm not exaggerating. My teammates are now learning this technology with emphasis on correct and pure application. I have no doubts that my company is going to be one of the first to fully implement it. And I see nothing but blue sky. This book is worth 10X its price and surely, surely ranks up there with the Knuth texts in import and function for the software industry. (The Knuth texts laid the foundation for a large portion of the software industry.) I also think it will go down in history as the "turning point that enabled the software industry technologies to finally catch up with their intensly workable hardware counterparts". My advice to software developers endeavoring to improve their efficiency with this book is: 1) don't go past any words or symbols that you don't fully understand, 2) actually DO the exercises, 3) be patient with the sometimes verbose explanations, and 4) realize that the technology contained in this book is a goldmine and don't treat it any other way.
C**L
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 learn a computer language syntax. Before buying, I remember reading through some of the Amazon reviews that mentioned this book was an advertisement for Bertrand Meyer's Eiffel language. So I got online to find some Eiffel syntax and programming examples. Sure enough, Meyer's had me secretly learning his OO language, Eiffel!The first big clue comes in Chapter 36. Meyer's writes, "the language is the notation that we have devised in part C and applied throughout the book." The Epilogue is the epiphany moment. It's entitled, "Epilogue, In Full Frankness Exposing the Language." In the last paragraph he thanks the reader for "patiently" following along, unveiling that the "anonymous language" used throughout the book is actually Eiffel! He concludes, "welcome to the world of Eiffel." BTW, this is on page 1,163!I give it 2 stars because 4 of the 36 chapters (~120 pages) are actually worth reading and have very little cruft. These chapters are included in Part B, "The Road To Object Orientation." They cover some very key OO topics, such as modularity, reusability, decomposition, genericity, and abstract data types (ADT). I especially liked the contrast of functional and object-based decomposition in chapter 5. Meyer's argument really gives you a sense of the power of OO languages in application development environments compared to functional or structured languages, such as C or Ada.However, I bought the book believing it was a language independent study of OO methods. I made this assumption from the title, table of contents, and the book's back cover description. I feel very cheated and would not recommend this book to anybody who is looking for an in-depth read of OO analysis, design or programming. It wastes time introducing the "anonymous" Eiffel syntax, evolution, and implementation when the reader doesn't quite understand the big secret yet.
J**K
What if C++ didn't win over ?
What if C++ didn't win over ? Would it be a better world ? You can ponder these questions over Bertrand Meyer's tome. This is not your typical manual - the perspective is wide and the style lofty, with references to classical literature. The subject - Object Oriented Programming and its incarnation, the Eiffel programming language. While C++ is a bastard conceived by C raping Simula, Eiffel is more purebred.The first few chapters explain OOP concepts in a language-independent way. This part may seem redundant for today's developer (referential equality etc.), but bear in mind that the book was first published in the eighties, when the concepts weren't part of mainstream yet. The rest of the book deals with the Eiffel language and its unique features such as Design by Contract, Multiple Inheritance, SCOOP the multithreading model, and Eiffel Studio IDE. The books concludes with comparing Eiffel to other major programming languages.As the language itself the book is very coherent and explains each part in context. e.g. how the functionality of Exceptions was determined by the Design by Contract. I beg to differ with author's assertion that Multiple Inheritance is a viable way for software reusability, but at least Eiffel implement them in a consistent way, and this is properly illustrated in the book. The book is both dated, as the programming landscape and Eiffel itself have evolved since, and very current, as many concepts it pioneered have gained traction recently - witness Design by Contract in C# or Ada; genericity in C#; or SCOOP principles reinvented by the Actor concurrency model. Eiffel did not attain the fame comparable to C++ or Java, but its influence is pervasive.
D**R
An O-O Tour de Force indeed !
This is the best textbook on object technology. I now understand the value of the object-oriented method and use it in my job as a computer programmer. I am a big fan of Bertrand Meyer. My favorite programming language is now Eiffel. Although not a native English speaker, Bertrand Meyer's mastery of English is perfect. I look forward to his next books.
T**R
still the best for uni
heavy going, goes deep into theory, still the best for uni level
R**O
Five Stars
The best path to learn OO
T**.
Das Buch über Softwareentwicklung
Dieses Buch ist superb. Weil es das tut, was kaum ein Buch über Softwareentwicklung tut, nämlich abstrahieren. So werden, wo es möglich ist, Konzepte mathematisch hergeleitet, z.B. "Design by Contract". Auf den gut 1200 Seiten findet sich so ziemlich jeder Aspekt der objektorientierten Softwareentwicklung wieder, inklusive Analyse und Kommentierung von Quelltext. Man muß das Buch allerdings von Anfang an lesen, da alle Kapitel miteinander zusammenhängen. Interessant ist auch die Programmiersprache Eiffel, die der Autor aus dem dargestellten Wissen heraus entwickelt. Zum Zeitpunkt der Erscheinung des Buches ( 1997 ) dürfte sie die fortgeschrittenste Programmiersprache gewesen sein. Beeindruckt hat mich auch das Kapitel über andere Sprachen, wie C++, Smalltalk oder Simula. Dabei ist das alles gar nicht schwer verständlich, viele Kapital eignen sich auch als Lektüre vor dem Schlafengehen. Voraussetzung ist allerdings, daß man abstrakt denken kann. Eine wundervolle Lektüre also für alle, die Softwareentwicklung lieben und gute Arbeit leisten wollen. Egal ob man an eine bestimmte Programmiersprache gebunden ist oder das große Glück hat, diese frei wählen zu können, egal ob man Entscheidungsfreiheit in anderen Dingen wie Concurrency oder Persistenzmechanismen hat, es wird sich auszahlen. Je größer die Entscheidungsfreiheit ist, desto mehr natürlich.
Trustpilot
3 weeks ago
1 month ago