TITLE: Two Things, Computing and Otherwise
AUTHOR: Eugene Wallingford
DATE: June 16, 2007 3:34 PM
DESC:
-----
BODY:
My
recent article
on Alan Kay's thesis incidentally intersected with one of those
blog themes (er, memes) that make the rounds. Kay brought out
two essential concepts of computing: syntax and abstraction.
Abstraction and the distinction between syntax and semantics
are certainly two of the most important concepts in computing.
Charles Miller takes a shot at the identifying
The Two Things about Computer Programming:
- Every problem can be solved by breaking it up
into a series of smaller problems.
- The computer will always do exactly what you tell it to.
That first one, decomposition, is closely related to abstraction.
When I followed the link to the source of the
The Two Things
phenomenon, I found that my favorites were not about computers
or science but from the humanities, history to be precise.
These are attributed to
Jonathan Dresner. Here are Dresner's The Two
Things about History:
- Everything has antecedents.
- Sources lie, but they're all we have.
Excellent! Of course, these apply to the empirical side of
science, too, and even to the empirical side of understanding
large software systems. Consider #1. That
Big Ball of Mud
we are stuck with has antecedents, and understanding the forces
that lead to such systems is important both if we want to
understand the architectures of real systems and if we seek
a better way to design. All patterns we notice have their
antecedents, and we need to understand them. As for #2, if
we changed 'sources' to 'source', most programmers would nod
knowingly. Source code often lies -- hides its true intentions,
masks the program's larger structure, misleads us with
unnecessary complexity of embellishment. Even when we do our
best to make it speak truth, code can sometimes lie.
As a CS instructor, I also liked His The Two Things about
Teaching History:
- A good story is all they'll remember, not the half hour
of analysis on either side of it.
- They think it's about answers, but it's really about
questions.
This pair really nails what it's like to teach in any academic
discipline. I've already written about the first in
All About Stories.
As to the second, helping students make the transition from
answers to questions -- not turning away from seeking
answers, but turning one's focus to asking questions -- is one
of the goals of education. By the time students reach the
university these days, the challenge seems to have grown,
because they have grown up in a system that focuses on answers,
implicitly even when not explicitly.
I'm not sure any of the entries on computing at the The Two
Things site nail our discipline as well the two things about
history above. It seems like a fun little exercise to keep
thinking on what I'd say if asked the question...
-----