RichardCurzon interviewed WardCunningham and KentBeck by mail for an article in the Delphi Informant.
(Delphi Informant is a new magazine, related to Data Based Informer and Paradox Informer. I think the first issue is supposed to be May/95. It is focused on Borland's new Pascal-based Windows development platform called DelphiLanguage.)
- Do you have a Press Kit or something <grin>. If you can spare a few minutes, and are interested to respond to some of these points I'd appreciate it.
Well, the repository is my attempt at a press kit. Be sure to read
http://c2.com/ppr/about/patterns.html.
- Tell me ... the story so far of patterns and pattern descriptions in software,
Lots of people have read Alexander's books and the books have resonated for them. But they weren't writing patterns. A lot of what I've done has been focused at making it OK for people to give it a try.
Methods and tools and even languages are just a means to the end. Objects that do a job -- that's the end. That's what patterns talk about. It's important to get people to think and write about the end product of design, not just the process of design.
- ... where it should take us in the future
Patterns are about doing the routine things well enough. If we can get past reinventing what we already know then we can get on to the really great stuff.
- ... about pitfalls - Alexander was dissatisfied with how well his pattern descriptions succeeded in passing on the knowledge -- he found most of the results lacked the QualityWithoutaName. Is there similar risk in software patterns? What can help avoid it?
We may have to find something Alexander missed. I'm impressed with the internet's ability to form specialized communities -- that may help. Then again, we may have a simpler task with less of "the quality" to preserve.
- ... about books - is there a Ward C book in the works, do you have a title or ETA? Does IDG have somebody signed up to do "Patterns for Dummies"? <grin>
I have a table of contents. It's more about how to make progress when you are beyond patterns. Don't wait. Get the PLoP book, which will be out this spring.
- Your work naturally focuses on Smalltalk; do you have any thoughts about the application of Patterns in the hybrid languages like Delphi/Pascal or C++?
Patterns seem to travel well. That's why experience with one language helps you with another. Of course, each camp will have its favorites. I'd expect the Delphi/Pascal programmer to draw from everywhere.
- I perceive a difference in level between your patterns and the GOF book which I would like to mention. I see a stronger similarity to Alexander's concepts in your stuff (KB and WC), where GOF gets into more the "pattern tips and tricks" structural stuff.
DesignPatterns by Gamma, et. al. is very important. It's fundamental. Some people have told me they don't find much there; others have said
it's way beyond their ability. We should all get it, get through it, and get on to putting it to work.
I've tried hard to cross levels. I specifically chose my subject, checks for bad input, because at first glance it seems so dull. It's actually only dull when the problem is insoluble, as it is when you try to solve it at one level.
- One case: GOF thinks of MVC as above the level of patterns (it's "a triad of classes that contains many patterns"), where I think Smalltalkers would consider MVC almost "the definitive pattern" in it's own right.
I don't think there is a disagreement. It's probably just an issue of scope for a particular discussion.
All good stuff. Kent's patterns created some heated discussion on the net. Your readers should be reminded that if their experience differs markedly from Kent's, then we would all benefit if they cast it as patterns and shared it through the channels we've opened.
- Anyway, I'd appreciate any comments... If it's something I have to think (or re-think) about for a while all the better <grin>.
Yes, you've made me think too. So, will I be able to put a draft of your article in the Portland Pattern Repository?
Best regards -- Ward
CategoryInterview