Lists Home |
Date Index |
9/16/02 1:13:35 PM, Jonathan Robie <email@example.com> wrote:
>But when you study what the "things that work" have in common, the result
>is an abstraction. For instance, a design pattern is an abstraction that
>came from looking at a whole bunch of code that solved the same problem in
>the same way. I think it's OK to have designers, they are allowed to be
>intelligent, use abstractions, and think.
You might say that "there are abstractions, and then there are abstractions." I think it's useful
to distinguish between the type of abstractions you're referring to, "_a posteriori_ abstractions"
in which one literally abstracts from the concrete (observes reality and builds a theory to explain
it) and "_a priori_ abstractions" in which one starts with pure theory and then tries to construct
"realizations" of it. I think it's the latter that some people object to as "ivory tower
theorizing." To some extent, what's going on is the extremely old philosophical debate between
idealism and realism: are theories imperfect (but useful) approximations to observed reality, or is
observed reality the imperfect ("noisy") "implementation" of idealized entities? I tend to fall
into the former camp; one of my favorite quotations is the statistician George Box's statement "All
models are wrong. Some models are useful" which I understand as meaning that all models (theories)
are necessarily oversimplifications of reality, and therefore "wrong" but useful precisely because
they throw out enough detail ("trees") to make it possible to see the broad picture ("forest").
Another favorite quotation of mine is from the psychologist Kurt Lewin: "there's nothing as
practical as a good theory."