|
> doubt
that your post is going to reach your target audience. Andre, Thank you for confirming that it did reach
my “intended audience” … I bet you, you didn’t know you signed
up for understanding cognitive processes when you first got interested into software
patterns. Please tell me more about you and your background to see if I recognize a pattern, but from my first
read …. you must be a clever bit-head with a narrow view. That’s the point I am trying to make
-- you and the other bit-heads of the software patterns world, including Jesus, are my “intended
audience”….. You are who I am trying to reach. Why? I am trying to remind software
developers about the relationships of patterns (software or otherwise), to cognitive
processes, and the works of Christopher Alexander, because that is the foundational and seminal
background work that you need to understand and use patterns – software or
otherwise. Let me start by arguing that software is
knowledge…. And that software development is therefore very much related to knowledge creation,
knowledge management, and socializing and sharing this knowledge. This translates well into
sharing a language (GOF+POSA{1..2}+PLOP{1..4}+ etc.), and living within a special software culture
– you can call it the Agile Software development if you will, which are the essential traits of the
Alexanderian paradigm: 1) build through patterns
in pattern languages (APL), (e.g. MVC, etc.) 2) build through an
iterative process (TOE), e.g. Scrum, 3) produce artifacts with
quality, beauty, easy of use, comfort, and other Ilities (durability,
flexibility, availability, resilience, etc.) (TTWOB), (e.g. Emacs) This is the picture of developing software
with software patterns in the large, but also, in the small, what a single developer does is: recognition of contexts
– where to apply the pattern (e.g. is this a good place to apply
“visitor”? pattern recognition, -- when
I am seeing the animal e.g. is this a “command”? pattern inventorying
– what patterns are available and when should I use them? In what
sequences or combinations? pattern usage – how
do I apply a pattern? e.g. how do I implement a “façade”? resulting context
prediction – where will I land after I refactor my code into the pattern
Z? And a lot of testing that
it did have the desired effect. etc. But all of these are cognitive
activities!!! People need to know patterns, learn patterns, memorize
patterns, store patterns, recognize patterns, etc.;
but the most essential quality about a pattern is its “sameness”, or similarity constraints (Alexander, Therefore, I claim that “A
Generative Theory of Similarity”, and specially one that quotes
Alexander, should definitely be interesting to some patterns’ practitioners (software
or otherwise!), but not necessarily
all. … and again, if you are not
interested in “A Generative Theory of
Similarity” don’t read it, but please stop the whining….. Any more “positive feedback”
out there? Think
about this… the simple fact that the Department of Brain
and Cognitive Sciences at the Massachusetts Institute of
Technology is interested in Alexanderian patterns is a big WIN for patterns…. I am the only fool to think this is “good
news”? - Mike From: Andre
[mailto:[EMAIL PROTECTED]
I doubt that your post is going to reach your target audience. |
_______________________________________________ patterns-discussion mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/patterns-discussion
