Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Patterns of Software: Tales from the Software Community

Patterns of Software: Tales from the Software Community

List Price: $27.50
Your Price:
Product Info Reviews

<< 1 2 >>

Rating: 5 stars
Summary: recommended when you want to contemplate a software career
Review: 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.

Rating: 5 stars
Summary: recommended when you want to contemplate a software career
Review: 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.

Rating: 5 stars
Summary: recommended when you want to contemplate a software career
Review: 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.

Rating: 5 stars
Summary: If you're a programmer read it all, if not, must read Part 4
Review: I was attracted to this book by its title since I bought another book, Design Patterns. The first parts were good, but still I am not so sure I followed the author (after all I was expecting a book clearly on software patterns). Then came Part IV, wow! it refreshed my memory of grad school days, and the days way back. The author's lessons/advice are so true and I sincerely wish more people read about them!! I regret I had to reach the same things when it was late. Why nobody gave me similar words when I first tumbled on my way into the society? Gabriel is writing with TRUE passion and honesty, which is sadly not so common in this era.

Rating: 4 stars
Summary: An autobiography
Review: 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.

Rating: 4 stars
Summary: Excellent book
Review: One of the best books out there on the understanding of patterns. Along with "Permaculture, a Designers manual" (see my review) and "A pattern language" this book rates as a must have for any serious IT designer.

Rating: 4 stars
Summary: Excellent book
Review: One of the best books out there on the understanding of patterns. Along with "Permaculture, a Designers manual" (see my review) and "A pattern language" this book rates as a must have for any serious IT designer.

Rating: 4 stars
Summary: A painfully honest look at life in the software business
Review: 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.

Rating: 5 stars
Summary: Lisp versus C
Review: 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.

Rating: 4 stars
Summary: Many fascinating anecdotes about real-world software design.
Review: 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.


<< 1 2 >>

© 2004, ReviewFocus or its affiliates