Re: Signs of the Next Paradigm Shift: Part I
Posted: Aug 11, 2006 5:36 AM
> All we need is the paradigm of paradigms. The missing link
> between CVS anlysis and implementation
> 'paradigms'/styles/idioms. You cannot just say 'pick the
> most appropriate'.
[For the sake of those who are confused, I think CVS here relates to commonality and variability analysis -- a not uncommon acronym, sadly easy to confuse with something else.]
If you look under the hood and go beyond the engineering-level stuff in MPD, you'll find that I was indeed striving for a paradigm of paradigms. When I give seminars on this stuff I sometimes use the term "meta-paradigm." It is a paradigm for finding or choosing pardigms. The meta-paradigm framework is based on widely socialized Western models of human perception. They tie into classification theory, pattern recognition, frame-based conceptual memory, and such. From this perspective, MPD is a deeply human activity more strongly rooted in cognitive psychology than in any technology. What I find cool is that more and more techologies are starting to come around.
In my next post (still in draft) I'll give my perspectives on how this relates to computer science education. I think academia has really missed the boat here, not only on the level of deep models, but on the engineering level as well. They are still looking for, as another poster here has noted, the silver bullet. It ain't there.
Another thing I find cool is that computing offers a really meager "starter set" of kinds of things our mind can pattern: function, structure, name, behaviour, value, and maybe a couple of others. Whether this owes to our cultural conditioning or something more fundamental in our wiring is a question I'll skirt in the interest of practicality. It seems to be so, and I want to build on what we can observe about how we work. That's what MPD does.
> > By the way, I find the term
> > "conflicting paradigms" a little strange - did you just
> > mean "alternative paradigms", and if not, how do they
> > "conflict"?
> Paradigms are conflicting by nature.
Maybe, but the magic of design under the hand of a great craftsperson is that we can master such apparent conflicts in the solution domain, and use them to rise to the conflicts of the problem domain. Conflicts in neither one nor the other remove their application from the realm of possibility. And many so-called paradigms are in fact not mutually consistent. Experts such as Peter Wegner and and Larry Constantine have sometimes noted that the so-called object paradigm is just a hodgepodge of the paradigms that proceeded it.
I think computing today has very few paradigms in the Kuhnian sense (whatever that means; even Kuhn seems confused by this). Maybe VonNeumann computation is a paradigm, and maybe there are paradigms that are inconsistent with it in a Kuhnian sense. But I haven't yet really seen one. We can blather about the rule-based paradigm but we usually talk about it in terms of backward or forward chaining -- very VonNeumann notions. The same is true for the functional paradigm -- very few people can get very far in talking about it as a computational model without introducing VonNeumanisms. And databases are not a computing paradigm but a data organization model.
So this notion of apparent conflict does not disturb me, and I seem to be able to navigate this so-called inconsistent design space just fine, thank-you :-) Most great C++ programmers I know are the same. To me, MPD just explains and codifies what these programmers always have been able to do. "Am I inconsistent? Then call me inconsistent. I am large. I contain multitudes." -- Walt Whitman