I knew the command line well, and very occasionally delved to snoop around at the level of machine code. My brother showed me how to hack a game by changing the last machine code the game executed before rejecting an incorrect password, creating a version of the program that only let you proceed if you guessed the password wrong. I wouldn’t have been able to do it by myself, but it was very empowering to know I was living under the same roof with a family member who understood it all so well. I introduced both my kids to Scratch when they were in elementary and middle school, and we spent many enjoyable hours creating projects. A few years ago, when Peter was an older teen, I tried introducing him to JavaScript, but it just didn’t hold his attention.
They get it, they see the power of programming, and yet they are much more interested in the creativity that can occur on top of the technical stack. I suppose we should not be surprised. They are the first generation whose interactions with computers were with devices that do not have a command line—that is, with smartphones and tablets. So naturally they are drawn to the higher-level aspects of computing, which doesn’t seem like computing at all to my generation. —Dan Cohen