patterns-discussion AT lists.siebelschool.illinois.edu
Subject: General talk about software patterns
List archive
- From: "Mike Beedle" <beedlem AT e-architects.com>
- To: "'Pascal Costanza'" <pascal AT p-cos.net>
- Cc: patterns-discussion AT cs.uiuc.edu
- Subject: RE: [patterns-discussion] Pattern-Oriented Programming
- Date: Sun, 24 Oct 2004 00:54:24 -0500
- List-archive: <http://mail.cs.uiuc.edu/pipermail/patterns-discussion>
- List-id: General talk about software patterns <patterns-discussion.cs.uiuc.edu>
Pascal writes:
> See also Peter Norvig's "Design Patterns in Dynamic Programming" at
> http://norvig.com/design-patterns/
Pascal:
Thanks. This is good stuff. Patterns are a solutions to problems in a
context - and a process and a thing that increases human comfort -- and
configurations of centers -- and much more. (I am currently reading Book 2
of the Nature of Order -- interesting stuff.)
But the idea that we can store and use this knowledge -- the patterns, in
code format I think is one of the next "waves to be".
This particularly caught my attention in Peter's presentation, which is the
philosophy and techniques I use for "pattern-oriented programming":
>From page 9:
16 of 23 patterns have qualitatively simpler implementation in Lisp or Dylan
than in C++ for at least some uses of each pattern
from page 10:
16 of 23 patterns are either invisible or simpler, due to:
First-class types (6): Abstract-Factory, Flyweight, Factory-Method, State,
Proxy, Chain-Of-Responsibility
First-class functions (4): Command, Strategy, Template-Method, Visitor
Macros (2): Interpreter, Iterator
Method Combination (2): Mediator, Observer
Multimethods (1): Builder
Modules (1): Façade
NOTE: This doesn't mean that these patterns are not useful in others
languages -- it just means that Lisp *already recognizes them and has codify
them into the language**.
Also the it inspires Lisp programmers to abstract and codify more knowledge
with code!!!
from page 17:
Macros provide syntactic abstraction
You build the language you want to program in
Just as important as data or function abstraction
Languages for Macros
* String substitution (cpp)
* Expression substitution (Dylan, extend-syntax)
* Expression computation (Lisp)
* Provides the full power of the language while you are writing code
And later in page 32:
- Define the pattern with code, not prose
- Use the pattern with function or macro call(s),
not a comment
... ah, I sense we are the brink of a revolution, but of course I warn the
readers of this note, that I am always over-optimistic and over-enthusiastic
about things that seem obvious to me :-)
But just to put some real case example of "related things in the real world"
Paul Graham, btw, made 50 million dollars at Yahoo Stores using these
ideas... He patternized Yahoo stores...
- Mike
- [patterns-discussion] Pattern-Oriented Programming, Mike Beedle, 10/22/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Pascal Costanza, 10/22/2004
- <Possible follow-up(s)>
- RE: [patterns-discussion] Pattern-Oriented Programming, Mike Beedle, 10/24/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Ralph Johnson, 10/24/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Mark Grand, 10/24/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Pascal Costanza, 10/25/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Ralph Johnson, 10/26/2004
- RE: [patterns-discussion] Pattern-Oriented Programming, Chris Finlayson, 10/27/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Pascal Costanza, 10/28/2004
- RE: [patterns-discussion] Pattern-Oriented Programming, Chris Finlayson, 10/27/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Pascal Costanza, 10/25/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Ralph Johnson, 10/25/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Malte Finsterwalder, 10/25/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Pascal Costanza, 10/25/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Mark Grand, 10/24/2004
- Re: [patterns-discussion] Pattern-Oriented Programming, Ralph Johnson, 10/24/2004
Archive powered by MHonArc 2.6.16.