Customer Reviews


12 Reviews
5 star:
 (7)
4 star:
 (4)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 
Only search this product's reviews

The most helpful favorable review
The most helpful critical review


27 of 28 people found the following review helpful:
5.0 out of 5 stars Lisp versus C
There is an excitement in reading what everyone else is afraid to say---and the software world is full of taboos.

I passed up "Patterns of Software" a million times in the stores; because of the title, I thought it was yet another book on software Patterns (capital P) in the vein of "Design Patterns" and other recent missives on high-level...

Published on June 6, 2000

versus
4 of 4 people found the following review helpful:
3.0 out of 5 stars More chatty than techie
Gabriel has collected a number of his "Journal of Object Oriented Programming" columns into a thoughtful and readable anthology. The columns have been grouped into a few post-facto categories, decided long after the essays were first written. As may be expected, some of the individual columns do more for me than others. The section on his glorious rise and glorious falls...
Published on July 14, 2005 by wiredweird


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

27 of 28 people found the following review helpful:
5.0 out of 5 stars Lisp versus C, June 6, 2000
By A Customer
This review is from: Patterns of Software: Tales from the Software Community (Paperback)
There is an excitement in reading what everyone else is afraid to say---and the software world is full of taboos.

I passed up "Patterns of Software" a million times in the stores; because of the title, I thought it was yet another book on software Patterns (capital P) in the vein of "Design Patterns" and other recent missives on high-level design.

Then I read Richard Gabriel's essay "Worse is Better," available on the web. Though the tone can be bitter and depressing at times, I was immediately hooked on this rare find: a hardcore Lisp person making honest criticisms of both the philosophy and practice of the Lisp world (i.e. academe and the AI industry.)

His book is even more rewarding than the essay, because in it Gabriel offers a social theory of software. He explains the overwhelming success and enduring popularity of the C language, but, refreshingly, he does this without taking the easy way out and simply insulting the intelligence of everyone who is not a Lisp user. Gabriel's lessons come from the real world---documented in this semi-autobiographical book---and he didn't always like the answer.

While it does discuss Patterns (more deeply and more critically than almost anything else, in my opinion) it is primarily about some common patterns (lowercase p) in the software industry.

Such as: why does the "best product" often fail miserably in the marketplace? After the enormous success of UNIX in the 70's and 80's (and the failure of almost everything else) this became an important question. Especially for those who wished to succeed UNIX.

Gabriel's answer turns on what has been perhaps been said best by writer Virginia Postrel: "Quality is not one-dimensional." Sadly, Gabriel's book does not include the aforementioned essay on the LISP vs. C dialectic. In it, he opposes two philosophies of software design, which he calls "Worse is Better", and "The Right Thing." The former is a perhaps bitter acknowledgement that the market does not usually reward the perfect product, if for no other reason that what works for some often does not work for others. In line with Postrel's remark, there simply is no single "right thing."

The author's writing is deeply conflicted, which makes for an interesting read. The two philosophies cancel each other out, and the software world chose the other one.

It's not hard to see why this is so bad for the Lisp community. In the world at large, Lisp has largely lost its special status as "not just another programming language." And when Lisp is seen to have advantages and drawbacks just like everything else, the one-size-fits-all Lisp enterprise itself is thrown into serious doubt.

As the author acknowledges, Lisp's mindshare has all but vanished. Faced with the reality of "worse is better", the Lisp world had no answers---and everyone else knew it.

I think it is a very honest thing for someone who truly believes in Lisp to question whether its unpopularity is due to something other than aversion to Lisp's pervasive parentheses, or perhaps to hacker-ish ignorance of "higher-level" concepts in programming. Gabriel has put his finger on what may be remembered as the philosophical "Great Schism" of computer science.

The one point of light in Gabriel's honest-but-pessimistic world comes from what this book doesn't include: his Worse is Better essay. After the discussion of worse-is-better, he says that C is *still* not the language for artificial intelligence, despite its success. He is correct, of course. But he's got a real point here: if Lisp is going to succeed, Lisp-the-language must free itself from the shackles of Lisp-the-philosophy, whose broken promises and disappointments led to the near-demise of the AI industry.

Excellent book.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 7 people found the following review helpful:
5.0 out of 5 stars Good commentary, August 19, 2000
By 
David N. Reiss (Haymarket, VA United States) - See all my reviews
(REAL NAME)   
This book is one of the best personal commentaries written about the Computer industry as a business and culture that consists of people. Richard Ganriel is best known for his essay "Worse is Better" which is available on the web. "Worse is better" has the Corollary to it that is sometimes more understandable to folks: "if it works then it ain't temporary". This book contains that essay as well as others on Gabriels philosophy on computers, artificial intelligence and other aspects of the field.

But the book contains more than just his thoughts and views on the computer field. It also contains a what is calls his "Personal Narrative", an autobiography of himself and how he grew up and why and how he ended as a computer scientist. It also contains the story of the AI startup company he founded in the 1980s Lucid.

Lucid, if remembered much today, is because of Lucid Emacs, now XEmacs, which was orginally authored by Jamie Zawinki for Lucid, based on the work of Ricard Stallman and GNU Emacs. Xemacs is the remaining gift that Lucid gave to the computer community.

Lucid was a company that pretty much failed, in Gabriels opinion, because of bad management and the "worse is better" hold on the industry, because it had great products that sold.

This book, along with the somewhat different "Fire in the Valley" by Michael Swaine and Paul Freiberger. Both explain a lot about the computer industry and how it works, and doesn't work. Building a better mousetrap is not a Guarantee of sucess.

Highly recommened book.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 5 people found the following review helpful:
4.0 out of 5 stars A painfully honest look at life in the software business, June 8, 1999
This review is from: Patterns of Software: Tales from the Software Community (Paperback)
There are many people who can operate a word processor with sufficient skill to create a book about computers and software that someone will publish; there are only a few published authors in our business who are also truly good writers. Richard Gabriel is one of the latter. In "Performance and Evaluation of Lisp Systems," he showed he could create a lively book on possibly the single most esoteric subject imaginable. In "Patterns of Software," he demonstrates his skill in essays ranging from patterns in Turkish carpets to the hard lessons of software startups, from the joys of riding cross-country in a Corvette at 125 mph to the often demeaning life of a graduate student.

The last essay alone, "Money through Innovation Reconsidered," would justify purchase of the book. Gabriel does a masterful job of analyzing one of the apparent paradoxes of software engineering: that the "best-engineered" software products can be spectacular failures in the market (e.g. Common Lisp, for reasons Gabriel dissects in depth; and, remember Ada?), while the most successful products have a ball-of-mud-that-just-grew quality (yesterday DOS; today Linux).

The more time you have been schooled in "the right way" to build software, the harder this truth is to accept; but it is truth nonetheless, for reasons Gabriel lays out succinctly. The essay deserves a place near Arthur C. Clarke's classic SF short story "Superiority." Read both and you'll see the connection.

Speaking of connections: many of the essays in "Patterns of Software" deal with Gabriel's multi-decade fascination with the work of Christopher Alexander on finding the underlying patterns in architecture that make buildings pleasing and habitable, with Gabriel asking the eminently reasonable question whether such patterns also exist for designing software that is pleasing to use. These essays are stimulating, but have a vaguely surreal quality when one notes that Gabriel has spent most of his professional life in Palo Alto, Alexander most of his in Berkeley, but -- according to Alexander's foreward to "Patterns of Software" -- the two have never met in person to discuss their ideas.

Should either happen to read this review, I will make Gabriel and Alexander the following offer: pick a place in the Bay area. Make sure it has lots of "the quality without a name" (Alexander's phrase for what other people would call a lived-in quality or sense of rightness). The kind of Italian place in North Beach where the Beat poets used to argue 'til dawn would do nicely. Let's have dinner. I'll pick up the tab. It will be worth it.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful:
4.0 out of 5 stars Many fascinating anecdotes about real-world software design., May 20, 1998
By 
This book is a very interesting and entertaining read for anyone who is involved (or is thinking of getting involved) in serious software development. Despite the title, only the first section of the book is devoted to pattern languages. The rest of the book is a selection of stories and musings about issues such as computer language choice, language size, running a software company, and the author's own personal history. The material on patterns is interesting in that it focusses on the founder of the patterns movement, the architect Christopher Alexander. Gabriel tries to find parallels between successful software designs and successful buildings. He identifies several key ingredients, particularly "habitability" and "piecemeal growth". Essentially these boil down to the idea that the users must feel comfortable with the software, and it must be possible to extend the software incrementally as needs change. Gabriel has a refreshing skepticism about "silver-bullet" strategies and his insights often go against conventional wisdom, which makes for thought-provoking reading. The last sections of the book are an account of his path through academia and his experiences as the founder of Lucid, Inc. There are a lot of horror stories here, which are fascinating and frightening to read. My only complaint with the book is that it seems so focussed on negatives (e.g. what can't be achieved, how bad people will shaft you every step of the way) that it gets pretty depressing. I wish there had been a couple of success stories along the way, or at least a less gloomy outlook. Some of the pessimistic predictions (which are several years old by now) also seem pretty silly in retrospect, such as the prediction that C will be the last programming language. Still, this is a very interesting book for software developers and has a very sobering effect.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful:
3.0 out of 5 stars More chatty than techie, July 14, 2005
Amazon Verified Purchase(What's this?)
This review is from: Patterns of Software: Tales from the Software Community (Paperback)
Gabriel has collected a number of his "Journal of Object Oriented Programming" columns into a thoughtful and readable anthology. The columns have been grouped into a few post-facto categories, decided long after the essays were first written. As may be expected, some of the individual columns do more for me than others. The section on his glorious rise and glorious falls into the `others' category, but I didn't read this to improve my understanding of Gabriel himself.

The better parts of this book reflect on software reuse, conceptual compression, subclassing, and abstraction. Nearly ten years old at this writing, the book reflects wisdom sorely won during the era of extravagant subclassing, before a better balance with aggregation was achieved. He also describes, at length, the evils of bad abstractions - the kinds that don't include all they should, and do include much of what they shouldn't. Unfortunately, his sourness on subclassing and abstraction prevents him from detailing their proper uses. "Abstraction is about ignorance," he quotes, but doesn't distinguish helpful from un-helpful forms of knowledge and un-knowledge, at least not in ways I can use.

The most useful of these essays emphasizes the value of writing - I mean prose, intended for human consumption. Perhaps Gabriel is a bit strident in stating the importance of person to person expression, but perhaps neglect of the topic warrants an exaggerated response.

This book includes a special treat, a six-page foreword by Christopher Alexander - the architect who introduced the concept of a Design Pattern. If you don't already know, he's a real building-type architect, not just a lead engineer of some kind. It's amusing, but I think rewarding, that he seems to feel better understood by builders in the thought-stuff of programs than by many in the physical world of concrete, steel, and glass. I enjoyed that section even more after reading a few of Gabriel's notes on Alexander's successes and surprising failures.

This is a philosophical book, intended for experienced software developers - nearly all of whom have been language designers, at least in small, at one time or another. The technical density tends towards the low, though, and it's really not for beginners.

//wiredweird
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 6 people found the following review helpful:
5.0 out of 5 stars Very Thoughtful, April 1, 2005
This review is from: Patterns of Software: Tales from the Software Community (Paperback)
I don't have anything to add to the already glowing reviews of this book other than to say that it is also available on the web at http://www.dreamsongs.com/
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful:
4.0 out of 5 stars An autobiography, February 5, 2000
By A Customer
In general, I was surprised at how much of the book was an autobiography. While I found most of the author's experience appropriate, I thought the chapters about Lucid's demise went on *far* too long and appeared a bit out of sync with the rest of the book. I'm convinced these chapters were written for the author's emotional benefit.

I found the concepts of habitability and compression remarkable as the author used them to frame old discussions in a new way. Echoing a previous reviewer's comments, I was captivated by the discussion on rugs as well as the book's final chapter. Lastly, I'd like to thank the author for recommending Williams' "Style: Towards Clarity and Grace." Based on his recommendation, I bought a copy this afternoon. It definitely belongs on the A list.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars recommended when you want to contemplate a software career, October 17, 1997
I spied this book and picked it up for two reasons: "patterns" and the author. I know something of Gabriel's career through Lucid. He is a certified software wizard. And I was curious if anyone would write something on software patterns that would transcend the obvious and perhaps even find a real tie-in to Alexander's architecture work. And then there was a forward by Alexander. And a tale of Gabriel's rising from failure (or a bad position) again again. Unique. Interesting. So I bought it and I read it one afternoon. There is nothing there for immediate application. No programs. No recipes for overnight success. Just contemplation on how things work. Software. Academia. Industry. And, yes, a bit on life. It does something so few books do. It gives you new perspectives and new questions, and gets you creating new perspectives and asking new questions. It makes you think. At least it did me. One further point. So few in the software field can really write well. Gabriel writes well.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


0 of 1 people found the following review helpful:
5.0 out of 5 stars Stands still, yet goes everywhere at once., April 25, 2000
Amazon Verified Purchase(What's this?)
This review is from: Patterns of Software: Tales from the Software Community (Paperback)
This is a hard book to review. I think it's *mainly* an autobiography, but then it's so much more. This man has obviously lived a lot of life and written a lot of software, and has reflected on the lessons that practice has taught.

Hence it is that Christopher Alexander's influence lives cheek-by-jowl with stories about graduate school. The "best programming language" war is settled in the same book that reflects on how to write decent prose.

Gabriel writes well about the breadth of experience that can be encompassed by an engaged, intelligent, reflective mind.

I really enjoyed this book.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 3 people found the following review helpful:
5.0 out of 5 stars Software trekkies compile at lightspeed!, March 4, 1997
By A Customer
You can't begin with the footnotes, looking for crusty anecdotes: the only one merely is an explanation. You can't directly jump to the index either, aiming at your favorite hottest topic, cross jumping from subjects to keywords, reading paragraphs while thinking you thouroughly read the book: there are only references at the end of the book. And you'd better go through these carefully, to get the taste of what you're about to read: architecture, philosophy, turkish carpets, epistemology, greek wars, biology, style and... management, software engineering and programming languages. Indeed, you may think that a book whose title targets one of the hottest topics in software engineering (one topic eligible for an appearance in the well-known "wired" column --- although it hasn't yet, controversially aligned with something you'd better be "tired" of) should go into the details of the programming and software tricks you need to boost your own project. Well, Richard Gabriel's opus does not. Navigating freely through the essays, you eventually realize Gabriel has a more ambitious vision than teaching his lattest hacking techniques: bridging architecture and software. That is, art and science. Indeed, when stuck with problems in your own field, why not try to learn from other fields? And, in particular, why not try to learn when the words, the processes, the results (and even the failures) so closely echo with those you experience in your day-to-day activity? To achieve such a difficult goal, Gabriel's "Patterns of Software" takes you by the hand, stepping the assembly language of architecture to shed light on that of software. Looking for the realm of beautiful software in the land of beautiful buildings, Gabriel decompiles the work of the architect Christopher Alexander who devoted his life to the realization of beautiful buildings. Gabriel imports architectural notions and concepts (habitability, piecemeal growth, patterns), aiming at a suitable instantiation that would make sotware beautiful as well. Gabriel even finds materials to talk about architectural bugs and spends an essay (titled "the failure of pattern languages") debugging. And in a last reflexive effort, Gabriel decompiles himself, his life, and the company he funded and which later failed, Lucid Inc. But does Gabriel's bridging succeed? You'll wish to end up your journey with the foreword written by Christopher Alexander himself, to agree that the question remains... And that it is not the point. This book is a pioneering brand: neither success nor failure, simply the user guide to go where no programmer has gone before. The reading-risk is to become a software-trekkie. Interested?
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

This product

Patterns of Software: Tales from the Software Community
Patterns of Software: Tales from the Software Community by Richard P. Gabriel (Paperback - May 28, 1998)
Used & New from: $15.00
Add to wishlist See buying options