BASIC APPROACH PLEASE PROVIDE COURSE INFORMATION
If you want the truth behind programming in general and object technology in particular, you cannot afford to miss my book.
Object technology appears to be a bewildering field in constant turmoil. But the core concepts of object-oriented programming endure as a paradigm for advanced programming methodology. By analyzing and comparing three different object-oriented languages, Objects Unencapsulated probes the core of object technology to examine how various language features affect software productivity.
Objects Unencapsulated examines and compares the strengths and weaknesses of Java, Eiffel, and C++. Topics covered include:
Grounded by his belief that true innovation demands constant re-evaluation, Ian Joyner strips away the superficial distinctions between these languages to find the essence of object-oriented programming. He explains the facts behind the many controversies that an object-oriented practitioner constantly faces. By explaining some essential theory in practical terms, Objects Unencapsulated exposes the principles of the object-oriented paradigm.
All that said, the book is well-organized, even the most loaded statements Joyner makes are thought-provoking, and its approach is unique. If you're willing to keep your critical thinking filters on and stay engaged with the book instead of being a passive reader, blindly trusting the author, you'll get a lot out of it.
Even though a great deal of positive attention is given to Eiffel, I do not think this comes from bias: I think that it's a natural reaction to studying the language with an open mind. After reading up on Eiffel on the net, and wallowing in Bertrand Meyer's incredibly lucid book 'Object Oriented Software Construction', I was totally blown away with the design of Eiffel. It really does seem (IMHO) to be far and away the most comprehensive OO language available today. While no language is perfect, it is a quantum leap ahead of both Java and C++ in too many areas to mention.
If you're willing to come to this book without emotional attachment to any particular language, you'll find yourself on a wonderful adventure exploring an amazing (relatively) new OO language which is designed from scratch without compromise to be a bullet proof way of constructing top quality reliable, reusable, maintainable, functional software, from initial analysis and design, all the way to implementation and subsequent maintenance and extension.
Most of the critics and comparisions are already well known. Nothing novel.
The book is more like a handy memo of the language features and good/bad tags than a serious study of the trade-offs and concerns (theoretical and practical)
Some comparisions are biased or even superfluous. The author tried to put everybody's feet into Eiffel's designer's shoes. Many of the practical concerns of C/C++/Java were intentionally or unintentionally ignored. That, in my opinion, undermines the book's objectiveness a lot.
Overall, this book is not good for beginners who want to learn C,C++,Java or Eiffel¡£It is just not written as a tutorial or textbook.
On the other hand, it is not of much value for serious language researchers either, in either academic or practical sense.