TITLE: Programming as Inevitable Consequence
AUTHOR: Eugene Wallingford
DATE: March 07, 2010 5:45 PM
My previous entry talked about
mastering tools and improving process
on the road to achievement. Garry Kasparov wrote of
"programming yourself" as the way to make our processes
better. To excel, we must program ourselves!
One way to do that is via computation. Humans use
computers all the time now to augment their behavior.
Chessplayers are a perfect example. Computers help
us do what we do better, and sometimes
they reconfigure us,
changing who we are and what we do. Reconfigured
well, a person or group of people can push their
capabilities beyond even what human experts can do
-- alone, together, or with computational help.
But what about our tools? How many chessplayers, or
any other people for that matter, program their
computers these days as a means of making the tools
they need, or the tools they use better? This is a
common lament among certain computer scientists.
Ian Bogost reminds us
that writing programs used to be an inevitable
consequence of using computers. Computer
manufacturers used to make writing programs a natural
step in our mastery of the machine they sold us.
They even promoted the personal computer as part of
how we became more literate. Many of us old-timers
tell stories of learning to program so that we could
scratch some itch.
It's not obvious that we all need to be able to
program, as long as the tools we need to use are
created for us by others. Mark Guzdial discusses his
encounters with the "user only" point of view in a
motivated by Bogost's article. As Mark points out,
though, the computer may be different than a bicycle
and our other tools. Most tools extend our bodies,
but the computer extends our minds. We can program
our bodies by repetition and careful practice, but
the body is not as malleable as the mind. With the
right sort of interaction with the world, we seem
able to amplify our minds in ways much different
than what a bicycle can do for our legs.
expresses it nicely and concisely:
If you understand an idea, you can implement it in
software. To understand an idea is to be able to
write a program. The act of writing itself gives rise
to a new level of understanding, to a new way of
describing and explaining the idea. But there is more
than being able to write code. Having ideas and being
able to program is, for so many people, a sufficient
condition to want to program: Sometimes to
scratch an itch; sometimes to understand better; and
sometimes simply to
enjoy the act.
This feeling is universal. As I wrote not long ago,
tools and ideas that make people feel superhuman.
But there is more! As
Thomas Guest reminds us,
"ultimately, the power of the programmer is what matters".
The tools help to make us powerful, true, but they also
unleash power that is already within is.
By the way, I strongly recommend Guest's blog,
Guest doesn't write as frequently as some bloggers,
but when he does, it is technically solid, deep, and