Been chatting with friends about the Salon article “Why Johnny Can’t Code”. Author claims that because his son doesn’t have access to BASIC, he can’t do the crafty little sidebar BASIC math examples in his math book. Also, the code exercises are disappearing.
He was, as the song goes, “singing my life with his words.” I lurved BASIC. My buddies growing up lurved BASIC. We hacked away all day in BASIC. Yes, I did all of the little computer, side-bar examples, in BASIC. I also had programming classes in my curriculum in grammar school. My parents supplied us with computers (actually theirs, that we got time on).
Like how I got my Mom’s discarded Apple IIe, hacked the interface beyond recognition, then used it to write short stories, which involves, just for the sake of nostalgia:
- insert program disk
- select ‘write file’
- eject program disk
- insert data disk
- name file, save file
- eject data disk
- insert program disk…
That sucked! How can we want to foist that on our children, for the sake of “seeing the inner workings of the computer…”
I was actually reminiscing the other day about how in kindergarden (sic: 1st grade, Mrs. Remmington’s class!), I plotted on a piece of graph paper a big old oak tree, then plotted all of the squares on a monitor, pixel by pixel. Now, it’s weird I remember that. I don’t think it really taught me anything about computers (consists of one line- plot(122,1232), repeated about a hundred times with different numbers) except that I’m borderline obsessive compulsive.
Oh those Silicon Valley kids! What crack-ups! Did that make us fledgling computer programmers? I was going to rhetorically write “nope”, as a lot of us became doctors, lawyers, etc. but then realized, now that I think of it, that the two guys I geeked out with most are both programmers, one is a Microsoft NET programmer (as in, coding NET, not coding in NET), the other, Adobe.
Basic was great and visible, and I agree with the author, in that it is like opening the hood of a jalopy, but bigger highlights in my programming learning cycle were:
– Learning how to typeset. Talk about old-school. That would be a thousand dollar excercise in fueling up, if I decided that was a way to teach my daughter, in our living room. My mom was a typesetter, and she let me on the box once in a while. It was the beginning of HTML structure, and made it really easy for me to pick up HTML, as I already knew how to do inline text formatting.
– Perl. I waded through the “learing Perl” book with some girlfriends, and really pushed through some of the more challenging exercises, by telnetting to my college account, and mucking through Unix and Perl syntax. Now I find it easy, but then I really had issues with simple thing slike fileeaders, pipes, nested loops, and datatypes.
– School systems: both my high school and college made serious investments in computers, and I appreciated that, and I think it really gave me a boost. I always had cutting edge NeXt boxes, or high end Macs to noodle around on during study breaks. They hired students to work on the systems- and that saved my ass in college.
– Work systems: I got to mess around on computers at work, and they were large servers, that I could definitely not afford. My bosses also gave me tasks like: “Buy the parts of your computer and assemble it.” Or, “nobody knows PCs, so can you buy one and set it up and test all of our competition?”, or, “Create a mini-Internet inhouse and test our mail systems.” These were grueling at the time, but ended up forcing me to learn things I didn’t know.
I wonder if the father in the article just wants his kid to learn the way he learned. I feel sorry for the kid if he wants to use programs to do applications that his dad didn’t, then he’ll have to setup a broad justification, like “what if I don’t want to play Pong?” I think application is key, and if the kid isn’t interested in applying programming to math, or games, but instead animation online, why not learn Flash? The complexity may be daunting to the dad, but it may be fun to the kid. I think, social networks (yelp!) and self-publishing (wordpress!) us far more interesting than Pong. To me, application and interest fuel the fire.
Also, while his father got a big boost from seeing everything visible, as Basic does, I’m not necessarily convinced that the kid’s going to have the same benefit from that. He may be better off going with his peers and learning things with application level, O/S level scripting, and object-oriented scripting. Sure, sometimes history repeats itself, but in computers, it seems to be on a linear path up, and staying with the current technologies has served a lot of people very well. Even if you are building those technologies.
My neice and nephew, ages 7 and 5, came over one weekend and they immediately ran to my bookshelf, where I have my Sims 2.0 CD. “Let’s play dollhouse!” they screamed. Later on the older one was a little more crafty. “You know what I’d really like to do? Play that dollhouse game.”
I realized too late that re-naming the Sims2.0 “Dollhouse” was not the best way to keep their grubby hands from it. I can just see the 7 year-old go, “Dollhouse? Well that’s funny, I’m great at playing Dollhouse!”
Talking to their parents later on, we discussed the pros and cons of playing video games at a tender age. More and more kids are playing Sims2.0 early, but then again, they’re not old enough to say “Wow, I’m glad I wasted my 13th year playing a video game.” I know when I die, I won’t fondly think of the hours I spent plugging away at an avatar making them shit faster, or scurry to their dead-end job faster. I ended up dragging the kids to the beach.