Read other letters about this article
I have a BS in Computer Science. A programming degree. But I got into UNIX sysadmin during an internship before I graduated. I actually worked as a software engineer after the first company I went to work for started cut the formal systems group. I hated it.
I like to program, but I personally prefer solo missions, at most a small group. Just my preference. It's handy beyond description to be a sysadmin who can write programs.
The thing is, I learned far, far more than just programming when I was learning to program. More than anything, I learned a lot about language--human language. I really did not know what the word "grammar" meant before encountering the Backus-Naur form. I'd always just intuited English grammar, and never went far enough in any foreign language to really grok how fundamental grammar is to any language.
David's point is well taken:
I have children, and I, too, would like for them to really know what's going on with computers. Of course, there are many more things that I would like for them to understand, but before that, they'll need to want to understand.
Programming is an art, and as such, leads to many more things in addition to developing the talents required for programming itself. What I want more than anything for my children is for them to love learning.