Brief Site Map Original Link New Brief 8/13/97, 2:20:7PM by NetAttaché Light


QualityWithoutaName

QualityWithoutaName

Okay, so you are out PatternMining. Where is a good place to start looking? ChristopherAlexander tells us to look for things with that Quality Without A Name.

What software systems do we know of that approaches A Quality Without A Name?

I think that the following attributes will be addressed well in a quality software system, regardless as to whether it's a code library, toolkit or end-user product.

Do you know of software that meets this criteria?

(Yes, this will be a very subjective collection of lists!)

-- ToddCoram


-- ToddCoram
Years back, James Gosling's Unix Emacs clone hit these buttons for me. These days, exploration of Smalltalk-80 and its descendants continues to reveal deep, pleasing profundities.

-- DaveSmith


A couple of years ago, I created a small framework in C++. For over 2 months I iterated over the design and code, laboriously trying to achieve some quality that "felt right." I succeded, for the most part, and then had to put it all aside. Then I discovered the GoF book and software patterns in general.

I know that code has traces of the Quality in there somewhere. I think it's time to go dig them out. I'll probably find already documented patterns. If I find other solutions that brings about the "peace of resolution of the forces" involved, I'll document them here on Wiki in hopes that out there somewhere, someone else has done the same thing. And a pattern will be born.

(It seems to me that the QualityWithoutaName and PatternMining are very closely related!)

-- DavidHooker


One of the early influences that took me into patterns was TomBurrows?' work on a proprietary language called Astra. Astra was a reaction to the reductionism of Smalltalk and C++, and more generally to the reductionist nature of the VonNeumann? computational model. The language was influenced by diverse drivers: In the spirit of the Zen thread, nature has no parts, and any attempt to parallel the beauty one finds in nature must break with the reductionism of objects. Therefore, Astra has many first-class constructs (that are vaguely like constraints in a constraint language) to tie objects together. It must be able to evolve; therefore, Astra is completely reflective; It must be efficient and reliable and have natural relationships between cause and effects, instead of programming by side effects; hence, it shed the VonNeumann? computational model and used demand-driven data flow. Astra expressed data flow semantics in an applicative (rather than pure functional) style; however, like Smalltalk, the methods were polymorphic.

The computational cycles were triggered by external real-time events so, unlike most data flow languages of academic interest, Astra could handle real-time applications.

Because there were no side effects (no program state that didn't correspond to some world state or the need to remember an event), piecemeal growth was easy, even when the program was running.

You could literally program in patterns: constructs which, graphically, were a weaving of objects and the intelligent pipes that connected them.

Astra had a graphical form called GIL, which I still use today. One can write beautiful, minimalist programs in GIL and Astra--not minimalist in the sense of a cryptic APL program, but minimalist in the sense of capturing the structure of nature in ways that no single other programming language could.

I have never seen this beauty paralleled in any Smalltalk or C++ program I've since seen.

-- JimCoplien


Describe Software approaching Quality Without A Name here.


EditText of this page (last edited December 14, 1996)
FindPage by browsing or searching

| Brief Summary | Site Map| Original Link | NetAttaché(TM) Light