When I was in sixth grade our class got an Apple ][ and I fell in love for the first time. The green phosphorescence of the screen and the way text commands would lead to other text instantly appearing was magical. The true occult realm could be evoked by moving beyond the command line and into assembly language, with mysterious hexidecimal pairs producing swirling lines and shapes on the screen. It was enthralling, and led to my interest in programming at an early age. I now have an almost identical Apple ][ in the corner of my office as a totem from that time.
Of course, very few people learn assembly language anymore, and for good reason. The history of computing is the history of successive generations of coders moving up the technical stack, from low-level languages like assembly to higher languages that put all of the rudimentary calculations behind a curtain.
I’ve been thinking about this coding escalator recently because of my kids and the still-vibrant “learn to code” movement. My kids are in their early teens and I can say as a proud parent that they are very good at all of the skills needed to be great programmers. They also go to a public school that was the archrival of the public school I went to—in the Boston-area math league. The school is filled with similar kids, sons and daughters of highly educated people, many of whom work in technical and scientific fields, or at one of Boston’s many universities.
Yet I would characterize the general interest of my kids’ generation in coding as being lukewarm. 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. While some may roll their eyes at Apple adding an “Everyone Can Create” initiative this week as a counterpart to “Everyone Can Code,” my kids thought this was a truly interesting development.
To be sure, those who know how to code, and code well, will always be able to shape computer platforms and apps in powerful ways, just as those who understand what’s under the hood of their car can maximize its performance. The skills one learns in programming are broadly applicable, and under the right circumstances coding can stir the imagination about what is possible in the digital realm. But most of us just want to drive, even in a suboptimal automobile, and get somewhere for some other reason, and many “learn to code” programs are frankly not especially imaginative.
In Digital History, Roy Rosenzweig and I wrote that although they are both noble professions, “historians planning a digital project should think like architects, not like plumbers.” I suspect my kids’ generation may see coding as plumbing, and would prefer to work on the design of the overall house. I’m not sure that we have fully accounted for this next generation’s shift yet, or have even come to realize that at some point the coding escalator would reach the top, and those on it would step off.