Preserving the programming craft
This post was originally published at sinewalker.wordpress.com on 1 May 2006.
I posted this reply to an Ask Slashdot: Do Kids still program? I found myself commenting all over that thread… it must be close to my heart :-) Reproducing here, and exploring a little further.
Many of the observations made on Slashdot are right. I wonder what it is that drives me to hack, that is missing from what is covered? Why do I like to hack, and why would it be passed over by kids these days? Or would it?
For instance, when all that my computer would do when I turned it on was blink a cursor and answer “Syntax error” to everything I typed, why didn't I just get bored and do something fun, like read a good book, watch TV, or go outside and play? Why was I still motivated to program instead?
I think that the answer is: I was fascinated by the puzzle. I was also keenly interested in figuring out how things work. I used to pull clocks apart, build electronic toys, re-wire stereos, that sort of thing: a computer is just another gadget to tweak. Although, because it was very very expensive (about AU$3500 for a Z-80 based 8-bit micro in 1986!) I'd better figure out how it works by “programming” it—whatever that is—rather than by taking it apart. I was encouraged in this because the book that came with the computer says “you can't break your computer by programming it”… (The book I refer to the is very good introductory manual for the CPC-6128, published by Amstrad Computer in 1985; I've not found one to better it yet, see especially Ch 2, 6 and 8)
If computers present a puzzle that is interesting, has a low entry barrier, and rewards exploration, then kids will program it. Other posts in this thread show that: the puzzle isn't interesting if the computer does nearly everything you want anyway, the entry barrier is very high (hidden or non-existent programming tools) and the reward for exploration is quite low (results gained through programming lower than you get from an Internet search, most of the time).
It's sad. I have a very young son who (if he's interested later—he's only 6 months old now :-D ) I'd love to share my love of programming with. But in light of how “kids these days” view computers, I'm having a hard time coming up with interesting puzzles that are easy to get started in and reward exploration. Squeak has a low barrier, maybe using it to write a simple game, with the hope that the reward of “I did it myself” is good enough, would work? That is about the best I can come up with.
Why do I think this is important? Why not just let kids be computer illiterate? I don't know. I think it's out of a sense of preserving culture and skills, probably the same sense that a carpenter laments the passing of his craft.