I was extremely surprised to learn that this book was so well received; I was even more surprised when a second edition was proposed. I had realised that there was a need for a book such as this but had not thought that the need was as great; I really wrote the book for myself, in order better to organise my thoughts on object-oriented languages and better to understand them. For the second edition, I have found and corrected mistakes and have added a completely new chapter on the C# language. The chapter on mixed- paradigm languages has been relegated to an appendix, and a new appendix on the BeCecil language has been added. - C# is extremely popular. Given its apparent role as the major competitor to Java, it was clear that a chapter was necessary in which a comparison could be made. That chapter concentrates on the language and not on the runtime and support system. C# contributes some new features to the C++ derivatives. The language has rough edges (as Java does still) . It will be interesting to watch its development and to see whether it becomes accepted more widely.
Use this text to study the conceptual basis of object-oriented programming. The author defines objects, classes, instances, slots, methods, inheritance, pure vs. impure languages, visibility, accessibility, encapsulation, abstraction, delegation, prototypes, actors, iterators, subtyping, multiple-inheritance, mixin classes, interfaces, aggregation, dynamic binding, polymorphism, genericity, overloading, overriding, downcasting, containers, reflection, and meta class. Variations in the implementation of these features in both common and obscure object-oriented programming languages are analyzed. The text covers three language approaches: class-based, prototype, and actor. The author familiarizes the reader with a broad array of programming languages such as Ada, Beta, C++, CLOS, Dylan, Eiffel, Java, JavaScript, Oberon, Omega, Sather, SELF, Simula, and Smalltalk. The book has an academic orientation. Practitioners will be imparted with a deeper and broader understanding of object-oriented principles after digesting this text.
Interesting overview but needs additional editing.
Published by Thriftbooks.com User , 23 years ago
This books gives an interesting overview of the concepts relating to object-oriented languages. Of particular interest are the discussion of prototype-based languages and the, albeit brief, discussion of reflection.The text, however, truly requires additional editing. Problems with the text range from the simply annoying (typos, repeated words, and incomplete sentence revisions) to the severely distressing (incorrect statements and contradictions).Though not a serious limitation, the book lacks code examples for the languages discussed. This is understandable since the focus is on concepts, but the book claims to be targeted, in part, at advanced undergraduates. I believe that code examples would be of great aid to such students if this book were used in a course. In addition, I believe that some reorganization of the material would help the presentation.
Very good survey of OO languages and their implementations
Published by Thriftbooks.com User , 23 years ago
I especially like the third chapter, on prototype-based languages. About time someone paid attention to those!This book is a good survey of the implementations and reasoning behind a variety of object-oriented languages (and languages confused for OO). There's a whole lot more out there than the mongrel OO implemenations of Java and C++, and this book covers it!If you are at all interested in OO languages in theory, check this book out! Incidentally, this is a great book in conjunction with "Programming Language Pragmatics", by Michael L. Scott (also highly recommended!).
ThriftBooks sells millions of used books at the lowest everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $15. ThriftBooks.com. Read more. Spend less.