Top positive review
If you're looking for one definitive book on component technologies, this is that book.
on April 12, 2015
Are you trying to get up to speed on that great post-object-oriented buzzword, "component?" Pick up a copy of Clemens Szyperski's Component Software: Beyond Object-Oriented Programming and you'll walk away thoroughly grounded in component technology. Component Software is very readable, yet Szyperski leaves no stones unturned in this thorough view of components, how they're different from objects, and why component-based development is a Good Thing. He also discusses the component market's viability, analogous to today's trade in ActiveX components, and how such a market would develop. Unfortunately, even though the book was just published in 1998, it's already out of date' for example, no mention of Java 2'but that's unavoidable given the rapid pace of development. It also doesn't cover component modeling or modeling languages such as UML.
What I like most about Component Software is that it provides a solid theoretical underpinning for understanding components and then gets practical' discussing the current instantiations of the Object Management Group's CORBA and OMA; Microsoft's DCOM, OLE, and ActiveX; and Sun's Java and JavaBean approaches to component technology. He similarly treats component frameworks, covering the sadly lamented OpenDoc as well as BlackBox Component Builder, and compares Java and Component Pascal, two languages used for component development.
That brings up what I liked least about this book: Szyperski is co-founder and director of research at Oberon Microsystems (www.oberon.ch), a spin-off from ETH Zrich, which makes, among other things, BlackBox Component Builder and Component Pascal. Comparisons of Oberon's technologies against other approaches are somewhat one-sided. Szyperski also shows a subtle (perhaps unconscious) bias towards Microsoft's COM approach.
Those lapses are more than offset by excellent work, such as outstanding chapters on objects vs. class inheritance, open problems working against component adoption, and component-based development. If you're looking for one definitive book on component technologies, this is that book.