Lambda the Ultimate

inactiveTopic Patterns of Software
started 8/9/2003; 10:44:57 AM - last post 8/18/2003; 1:46:20 PM
Manuel Simoni - Patterns of Software  blueArrow
8/9/2003; 10:44:57 AM (reads: 2420, responses: 13)
Patterns of Software
via comp.lang.lisp:

Dick Gabriel has published his excellent book "Patterns of Software" as a freely downloadable PDF file on his website http://www.dreamsongs.com/
Posted to Misc-Books by Manuel Simoni on 8/9/03; 10:46:00 AM

Ehud Lamm - Re: Patterns of Software  blueArrow
8/9/2003; 11:42:40 AM (reads: 1540, responses: 0)
I am unfamiliar with the book, but I found this review.

Viktor Szathmary - Re: Patterns of Software  blueArrow
8/9/2003; 5:53:37 PM (reads: 1477, responses: 0)
A longer, and less forgiving review.

Isaac Gouy - Re: Patterns of Software  blueArrow
8/9/2003; 7:04:45 PM (reads: 1473, responses: 0)
less forgiving review
I wonder if that reviewer had the opportunity to read the Preface before getting the book? Or even the full title - "Patterns of Software: Tales from the Software Community" which gives a rather different impression than "Patterns of Software".

"The End of History and the Last Programming Language" is 10 years old now. Were the ideas Richard Gabriel and Guy Steele threw around valid then?

Successful languages must have modest or minimal computer resource requirements
Maybe what we consider "modest or minimal computer resource requirements" has changed?

Successful languages must not require users have “mathematical sophistication.”
Has this changed, or is it still the problem for FPLs?

(Models of Software Acceptance: How Winners Win seems to revise some of the ideas - I wonder what the 2003 viewpoint would be like)

Jordan Katz - Re: Patterns of Software  blueArrow
8/10/2003; 11:00:07 AM (reads: 1360, responses: 0)
Did you see who the author of the "Less forgiving Review" is? That should immediately discredit everything said in there.

Jim Apple - Re: Patterns of Software  blueArrow
8/10/2003; 12:26:41 PM (reads: 1331, responses: 0)
Why should that discredit it?

Isaac Gouy - Re: Patterns of Software  blueArrow
8/10/2003; 1:49:44 PM (reads: 1316, responses: 0)
Why bother with reviews?
Just download (didn't take that long even at 26 kbps) and skip-read the pdf

Dominic Fox - Re: Patterns of Software  blueArrow
8/11/2003; 5:44:55 AM (reads: 1226, responses: 0)

For much of the sections I've looked at so far, Gabriel is talking not so much about "cognitive factors" in relation to "software engineering" as about the various intersections between emotional, institutional, sociological, political and technical factors (the autobiographical sections are fairly raw in places). If the book has lessons for programming language designers, they are not exactly lessons about how to design "better" programming languages; but he may have some insights about how to design more viable ones.

Viability has to do with how it goes for a language once it's "on the road": your viability may vary. Many of the concerns of "object-oriented design" are really concerns about continued viability: the ability of systems to absorb change, the availability of their constituent parts for re-use in other contexts, and so on. Gabriel himself prefers the metaphor of "habitability", which is more static; but in actual fact his book is preoccupied with journeys - and through "dark woods" at that - rather than comfortable habitations. For all that Alexander is the hero of several of the pieces here, it seems that restlessness, change and struggle (whether "evolutionary" or not) are actually the keynotes of Gabriel's narratives, rather than harmony and tranquility.

(It's worth comparing Sam Williams' Free as in Freedom, a biography of Richard Stallman that underlines the nostalgia driving Stallman's crusade. Gabriel, it seems to me, is looking forward to a future dwelling, based on a "timeless way of building", that will provide a respite from at least certain sorts of struggle, whereas Stallman is arguably trying to rebuild and preserve a lost community of hackers. Both are concerned however with the "shining city on a hill" that would represent the harmony of social form and technical function.)

The problems of "software engineering" or "systems architecture" appear in this light as problems to do with contingency: both the contingency (the always partly accidental nature) of existing or "legacy" systems, and the contingency of future solutions to software problems. "Contingency" here cuts across the boundaries between "social" and "technical" issues: a technically-superior language may be forced into redundancy by economic and political factors, a well-designed system may become unfit for purpose as the purposes for which it is used change over time.

"Worse is better" argues, in effect, that worse is (sometimes) more viable for reasons which are only tangentially related to its intrinsic merits. Gabriel's arguments against "worse is better" argue that intrinsically meritorious technologies could have a transforming and improving effect on the human activities they are meant to serve: that a win for "the right thing" would not be an abstract victory of right-thinking over wrong-thinking, but a piece of real "Vorsprung Durch Technik".

Isaac Gouy - Re: Patterns of Software  blueArrow
8/11/2003; 7:48:06 AM (reads: 1185, responses: 0)
Dominic, that was a pleasure to read.

Patrick Logan - Re: Patterns of Software  blueArrow
8/11/2003; 8:54:59 AM (reads: 1197, responses: 0)
Ditto, Dominic. What Isaac wrote.

Isaac Gouy - Re: Patterns of Software  blueArrow
8/11/2003; 1:41:04 PM (reads: 1138, responses: 0)
better / viable
Yes, in "Worse is Better", better means successful in the market (popular).

that worse is (sometimes) more viable
I read differently ;-)
"The acceptance path for a right-thing system ... can happen, it is simply unlikely." In contrast, to a more evolutionary development begun with minimal invention.

(Light reading:
"A complex system that works is invariably found to have evolved from a simple system that worked ... A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system."
Systemantics: How systems work and especially how they fail, 1978)

Luke Gorrie - Re: Patterns of Software  blueArrow
8/18/2003; 2:55:15 AM (reads: 886, responses: 0)
I enjoyed this book. But what was the driving motivation through the Lucid years? Getting rich, getting the whole world to program in Lisp, advancing the state of the art in Lisp development environments, just having fun and doing new things?

My vague impression is that it was mostly to get rich. It paints a pretty dark picture of "golden years" of commercial lisp, with all that inside fighting and super technology ultimately going down the toilet.

I'm left wondering: what happened to all the code?

The public-domain code he disparages (Spice Lisp) became CMU Common Lisp, which seems to be a great success: still alive, still actively used, and passing down some very fancy technology to "the rest of us". Are we to take it that Lucid improved this code dramatically, then just let it rot when they failed financially? If so, I'm surprised the waste of good code didn't get much attention in this book.

Patrick Logan - Re: Patterns of Software  blueArrow
8/18/2003; 8:34:08 AM (reads: 843, responses: 0)
The public-domain code he disparages (Spice Lisp) became CMU Common Lisp, which seems to be a great success: still alive, still actively use...

Yes, but those were the 1980s. Pre-enlightenment.

Now it's much better. 8^)

Luke Gorrie - Re: Patterns of Software  blueArrow
8/18/2003; 1:46:20 PM (reads: 824, responses: 0)
Yes. And they can even boast foresight in the free-software sense: XEmacs came from Lucid. (And I'm sure the pleasure other people get from using XEmacs more than makes up for the time the rest of us spend porting our little hacks to it from GNU :-))

I notice my review above looks quite negative. It's not that I didn't like the book, I really liked it, but it was the most dark and depressing thing I've read in some time!