|
|||||||||||||||||||||||||||||||||||
|
18 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
47 of 51 people found the following review helpful:
5.0 out of 5 stars
Excellent Read!,
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
This is one of the first books in Microsoft Press' new "Microsoft Professional" series and first impressions are that it looks a bit dry. If you're as averse to "pretentiously long words" as I am - headings like "hermeneutics", "anthropomorphism" or "A syncretic Approach" leap off the page as you flick through the slim volume - then you're going to find the book a bit of a struggle("Looks like a great cure for insomnia" as a colleague commented after a quick flick through it) and my initial hopes were not high. However persevere, because it's worth it! Although the language and presentation is almost the polar opposite of one of the "companion" titles in this series ("Extreme Programming Adventures in C#") this has a very high signal to noise ratio (which sadly the other much fatter volume doesn't!). So, don't be put off by the long names and endless footnote references to old ACM papers because what's presented here is a thoughtful and convincing book on the history of object-oriented development, the politics and design errors that have caused the "wrong" thinking to take place and a convincing argument as to why so many of us have got object orientation so wrong. The blurb promises "visionary insight" and if you can get through some of the "academic" language, against all expectations the book delivers on that promise. This ISN'T, as you might expect from a Microsoft Press book, a book of code examples and "silver bullet" handbook for the developer who wants to cut and paste code, for reasons that are well explained in the book. It IS a great guide to why current thinking is often wrong and what you, as a developer, need to do to develop your "object thinking" and deliver on the promises that have been made in its name. Frankly I'm amazed and encouraged to see such a great "agnostic" (where Microsoft technologies are concerned) book published by Microsoft Press. This is one of the best titles I've read (and I've read a lot!) in their extensive catalogue. Perhaps the most important advice is that "Object thinking is hard", as the book's author professes, and while there aren't any "silver bullets" this book does guide you through a difficult path that will help you "think objects" and produce better solutions. Highly recommended
22 of 26 people found the following review helpful:
3.0 out of 5 stars
I really wanted to love this book,
By wickerman "wickerman" (Seattle, WA United States) - See all my reviews
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
And I did - but I'm not sure how broad the appeal of a work such as this will be.
Readers looking for a 'pure' programming book will be disappointed; readers expecting a theoretical introduction to object-oriented programming will probably find themselves overwhelmed. The other groups of readers for whom I feel saddest will be those where English is their second language and readers predisposed to hostility towards Agile programming methodologies (http://www.agilealliance.com/home) - for them, this book will be an exercise in frustration. The language in this book is written at a higher level of vocabulary than is typical - perhaps not atypical of a philosophy textbook (which is much closer to what this book is), but certainly outside the norm for books about programming. And it is because of this emphasis on philosophy that I find myself only able to give the book 3 stars. I loved it - but a lot of people will be put off by Dr. West's vision of titanic struggle between formalist culture and relativist culture, technocrats and managers against geeks and code poets. On an emotional level, I get it. At an intellectual level, I get it. The process he's describing, the methodology he proposes, totally gel with the way I've long thought about my programs. Even when I was writing largely procedural code, I was holding in my head metaphors that made it a lot easier for me to visualize what I was trying to achieve. West believes that by training developers to accept fuzziness and chaos, to embrace uncertainty and relativism, to adopt an almost Zen-like approach to software-by-metaphor, better software will come about. This book is almost a Gnostic text of sorts - to the believer or not-quite-believer actively seeking the message this book tries deliver, it will be a wonder. To a skeptic or traditionalist, it will seem like heresy. Ultimately, that's too bad - I think there's a lot of wonderful material in this book that'll be lost, and I do think my profession will be the less because of it.
22 of 27 people found the following review helpful:
5.0 out of 5 stars
OO is more about mindset,
By A Customer
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
This is a great book that goes into considerable amount of historical background on Object Oriented (OO) software development and lays a fertile background for assimilating OO concepts. David West does truly commendable job at explaining the related psychology and philosophy of OO development. He is quite radical in his approach at explaining what is wrong with traditional software development by explaining Agile methodologies (XP in particular). I thoroughly enjoyed the book and strongly recommend it to any .NET or J2EE developers who think they are designing OO software, but most in fact are not.
23 of 29 people found the following review helpful:
2.0 out of 5 stars
Should have been entitled XP Thinking,
By Joe Bonforte "Joe Bonforte" (Flyover Country, USA) - See all my reviews
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
If you want to be preached at about how current methodologies have it all wrong, and XP is the way to go, then get this book. Along the way, you'll get some decent object conceptual material, when the author is not getting distracted into his XP rants. But my problem with the book is that he doesn't really want to teach you object concepts - he wants to evangelize to you about XP.
Whenever someone tells you, "you have to experience this to understand why it's so great", that's a tip off that he has no strong objective evidence to support his position, and that his attachment to the concept is emotional in nature. Despite his assertions, it's quite possible to do highly effective software development without XP, and I've seen projects that were wholly XP-oriented that were massive failures. So I'm not particularly sympathetic to XP evangelists to start with. (I don't mean to imply that XP is useless. But's it's just one methodology choice among many, and there's nothing special about its success rate.) But sneaking in XP evangelism under the guise of talking about object orientation is downright disingenuous. Object oriented concepts don't have anything do to with extreme programming, and the author's forced efforts to connect the two are quite lame. I wish it were otherwise. We need a good recent book on object oriented concepts (as opposed to object oriented syntax). I think this could have been that book, if the author had resisted the urge to evangelize instead of instruct.
22 of 28 people found the following review helpful:
5.0 out of 5 stars
Superbly written, profound content,
By metaldrummer (Corcoran, MN) - See all my reviews
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
The criticisms of this book using big words are unfounded. OOAD is a complex idea (after you read this book, this will become crystal clear if it isn't already) and therefore needs and incorporates a robust vocabulary to articulate complex processes and ideas. If you are put off by big words, you will not be able to read about science, philosophy, mathematics or programming, all of whose ideas, by the way, are juxtaposed in Object Thinking.As well, to say this book is "deeply slanted" and that the author "foams at the mouth" reagarding current programming practices is to completely disavow oneself from reality. Take a quick and simple peek and the current state of software design/projects/programs. See anything amiss? How about cost overruns, and projects that either get shelved halfway through, or take 5 times as long to build as planned. Mr. West simply says that true OO is rarely practiced, that there is a better method, and here it is. If anyone has any credible evidence that XP/Agile programming is the same or worse than traditional OO or structured programming practices, be sure to write your own book on it. It will go along ways to disproving theories that Dave West and others put forth. For those who are open to expanding their current views about programming, get this book. Dave West is, at the least, a gifted writer whose book content is profound, and is a must for any serious computer programmer. This is a must-have book for anyone who aspires to be, or already is, an OO progammer. Superbly written, with profound content. This is a no-brainer: buy it.
8 of 10 people found the following review helpful:
4.0 out of 5 stars
Excellent look at culture,
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
Some things I like about the book:- excellent writing and not filled with typos like most technical books; care was obviously taken with this book - superb look into culture and unstated assumptions in OO/XP development - unique perspective on OO that doesn't just assume that UML = OO design - David West is obviously very creative and has great vision into the big picture of software development Some things that could be better:
44 of 63 people found the following review helpful:
1.0 out of 5 stars
Content-free grammar,
By wiredweird "wiredweird" (Earth, or somewhere nearby) - See all my reviews (HALL OF FAME REVIEWER) (TOP 500 REVIEWER)
Amazon Verified Purchase(What's this?)
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
I almost gave up on this book after the first 100 pages. I should have. I managed to hang on to within 25 pages of the end. That was where Mr. West presents the reader with the formula X=4q+(p*r), and solemnly announces (I'm not making this up) "4 represents a constant value," with the word 'constant' set in italics to emphasize its gravity. By the standards set elsewhere in this book, that qualifies as a technically profound statement.
At least it's not just plain wrong, as were statements elsewhere in the book. For example, p.270 asserts that "Ensuring that it's possible for two objects to exchange messages is a matter of visibility: the objects have to be able to see each other." Well, no. Systems like Linda allow objects to leave messages for each other at anonymous drops. Component systems like the Bean Box count on some third party able to see both, a 'Mediator' in the Gang of Four terms that West generally disparages. Heck, anyone who's ever seen a Unix command pipeline would know how silly that claim is. He also asserts (p.253) that over-riding a superclass method causes "cognitive dissonance." For those not familiar with psycho-babble, that means it confuses him. Those are probably low points, since the rest of the book is so vague and philosophical that it neither informs nor misinforms. Mr. West goes on at length on the hermeneutics of objects and their postmodernist interpetations (p.59). He goes on about how Alexander's design patterns have been misunderstood by mere application, how their real purpose is personal transformation within the user. Mostly, he just goes on. By now, I guess my lack of fawning shows that I haven't been born again into the mysteries of "Object Thinking," whatever that is. True believers initiated into the mystery will probably say that I'm not competent to comment on the wonderfulness of The Way of West. Well, maybe that's a good thing. I wish Mr. West all success in his navel-gazing. Maybe if he's busy with that, he won't get in the way of people trying to get work done. //wiredweird
1 of 1 people found the following review helpful:
4.0 out of 5 stars
Great read and design learning tool.,
Amazon Verified Purchase(What's this?)
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
I found it a great read and thought the author really had some great points and strategies to Object Oriented design and development. He draws on a vast knowledge of smalltalk style programming which is unfamiliar to me because my background is with Microsoft technologies but now I use it alot with C# and .NET. I took off one star because he tends to reemphasize over and over the battle between the object and the structural camps in programming; while I thought it was interesting and funny the first times he talked about it, around the tenth I was getting a little bored.
4.0 out of 5 stars
A nice compilation of heuristics for good OOP design,
By
Amazon Verified Purchase(What's this?)
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
There are n solutions to a single problem. All of them right in solving the problem however only a few extend the existing system at a 'natural joint' i.e. where it is consistent with the original structure/intent or theory of the developer. Such changes lead to systems that are easy to take-down and reassemble when you hit a dead end.. (along the lines of the Lego Brick metaphor, if you find that a brick doesn't give you the shape you want, you just chuck the brick and plug in a different shape.) This in fact is the bulb moment behind the XP practice of 'Metaphor'. Identifying the right set of objects and the distribution of responsibilities among them to suimulate a real world scenario is the sign of a master object designer. This book will not make you an artist but will give you some good pointers nonetheless.
* The first few chapters help the reader understand between the culture difference between 2 camps of 'scientific logical method-driven designers' and 'heuristics-driven artistic social designers'. * Chapter 3 outlines the 4 fundamental tenets of object oriented thinking. * Chapters 4 n 5 throw some light on the terminology and subtle thinking differences. * Chapter 6,7,8,9 are the 'How-to'/actionable chapters. * Chapter 10 is just bizarre... disjointed The book as a whole doesn't exhibit 'flow'... something feels off. The book also doesn't promote lucid language frequenty throwing in important sounding words :) The book definitely could have been shorter to make a better impact- I liked a bunch of ideas like Object Cubes (an extension to the CRC Card) as a thinking tool (I don't think I'll be building any physical cubes), the 4 presuppositions of object thinking, 'All inheritance must be based on behavior extensions', the little 'Behind The Quotes' sidebars , 'Object as a person' metaphor. Self-evaluating rules, Event Dispatchers and the DataItem type (as opposed to passive data) are interesting. That said it is a refreshing (though opinionated) change to read about the craft behind OOP. 4 out of 5 stars.
24 of 27 people found the following review helpful:
5.0 out of 5 stars
Great Philosophical background,
By
This review is from: Object Thinking (DV-Microsoft Professional) (Paperback)
Review of "Object Thinking" by David WestThis is a very interesting work from Professor West for those that want to explore the philosophical underpinnings of Object Oriented Software Development. Early in the text he relates the Greek philosopher Plato's comments to decomposition, dividing a problem along the natural joints. Although it includes good practical examples the philosophical basis for shifting from the deterministic approach of structured methodology in software development to the new agile techniques he so obviously favors is presented in a quite convincing manner. The book ably serves as a reference to the philosophical basis of thinking regarding programming with copious references notes and sidebars. This also helps improve the readability of the book by reinforcing the rationales offered and providing substance to his claims. Professor West we learn early on is a proponent of agile methodologies and still favors the Class, Responsibility, Collaborator (CRC) cards. There is much to recommend this in the early stages of software design. West also points out to no surprise that Object thinking is truly different and attaining this level of sophistication is not merely a matter of experience with Object Oriented languages. As an example West includes an interesting statement "Eliminating centralized control is one of the hardest lessons to be learned by object developers.". My own experience with Java and J2EE bring to mind the example of Sun Microsystem's Pet Store. The example prominently features several classes which function as Controllers; ScreenFlowManager, ModelManager and ShoppingCartClientController. West prefers the use of Coordinator in that the objects register listeners and coordinate rather than actually control the events. The difficulty of creating good Object Oriented software is largely affected by the language and architecture. Throughout the text West alludes to among others, Smalltalk, Java and C++ in terms of the ease with which Object Thinking is expressed in the languages. Professor West points out, via Fred Brooks four difficulties, Complexity, Conformity, Changeability and Invisibility. The relative ability to deal with these difficulties is not so dependent upon the language as long as it is sufficiently object oriented so much as it is with the programmers mindset and familiarity and ability to really think in terms of objects. Professor West also acknowledges the most appropriate place for Object Thinking in that the more complex the problem to be solved the more appropriate Object Thinking becomes. Small problems may not benefit from Object Thinking but almost always large complex systems can be much more effectively expressed in an Object Oriented manner than with traditional structured programming approaches. Any examples to the contrary would be welcome commentary and feedback from the reader. The later part of the book deals much more with examples and less philosophy. It is however an excellent application of the foundational discussions from the first part of the book. I was continually surprised at how much more obvious the Object approach was after the discussions and examples than the structured approach. Professor West has written an excellent philosophical basis for Object Thinking and then gone on to support it all with examples and discussions of problems that are easily understood and do well to illustrate his points. Anyone that purports to be a practitioner of Object Oriented software design, development and architecture would do well to compare his own thinking and methods to the very well researched and annotated treatise of professor West. Not only will the reader develop an appraisal of his own levels of Object thinking but he can gain substantial insights into the cultural mindsets that govern the thinking and problem solving techniques involved in Object Thinking. Review by Ivan S Kirkpatrick, PE |
|
Most Helpful First | Newest First
|
|
Object Thinking (DV-Microsoft Professional) by David West (Paperback - February 18, 2004)
Used & New from: $19.84
| ||