There has been quite a recent push in the media regarding teaching coding to students and in fact kind of as the “new literacy.” The idea is that everyone should know how to code, and not understanding how to do so will leave people without the skill in the same place as people who are illiterate in our society. That is, a place of powerlessness and lack of control without any ability to meaningfully participate. There is also a subtle undercurrent of condescension going along with this idea from the technology community towards, well, everyone else, but I digress.
Every profession has its arrogance and an overweening sense of its own importance in the world. Somehow tech folks seem particularly prone to this. I was at my dentist’s office about a year ago, and while I had done a pretty good job about cleaning my teeth and flossing, she was pushing me to do a bit better. She is a very nice lady, by the way and a great dentist :). I asked her “well, how often do you do your backups?” She looked puzzled for a minute, then said “Well, I’m not sure we do backups, but I don’t understand what that has to do with flossing more.” My response was “You’re a dentist. You think teeth are the most important thing in the world — perhaps not entirely or consciously, but you at least think they are of an outsized importance compared to your average person on the street. If you thought otherwise, you probably would not have gone into dentistry. Well, I work in technology. And specifically by technology, I mean a particular sub-specialization of the field we are currently calling information technology. I therefore think that information technology is of outsized importance in comparison to your average person on the street. Every profession does this. I am suggesting that if I am doing a pretty good job of keeping my teeth clean — at least flossing 3 or 4 times a week — then that is probably pretty good, even if I do not keep up to your professional standards. And you are probably not keeping up to my standard of technology maintenance in your business or personal life. And none of us are keeping up to the standards of other people each in their own profession. Keeping up a perfect standard in all professions is either impossible, or at the least would drive us insane, and so therefore the only realistic thing to do is just to do our best and be pretty happy with that. Or, if you want, you can get your IT stuff into perfect shape and then I will get my flossing into perfect shape, twice a day, but somehow I doubt that is going to happen for either of us.” It was sort of a layman’s explanation of the Kantian Categorical Imperative about flossing and backups.
So I, being a loyal Slashdot reader, came across a new article in their feed today discussing why Coding Is Not the New Literacy. I strongly agree with the sentiments expressed in the article, which to me get to the heart of why it is not about programming per se — it is about what is behind programming — the ability to model our world, think logically, and problem solve. I do not think that every can or should learn to program, and I do not think that programming is truly easy to learn. Or perhaps, everyone can learn to program in the same way that everyone can learn to write — but not everyone will be literate in programming just like not everyone is a good writer. It’s not a fault of the programming language, nor the education. It’s that learning to be a good programmer means being good at analytical, abstract, logical, systematic, disciplined, and formal thinking, and that skill is probably only distributed in a minority of the population (although I would be interested to see psychological research on this.)
That’s an interesting article, Josh! I particularly like your last paragraph, when you say “but not everyone will be literate in programming just like not everyone is a good writer”. It concludes the whole dispute reasonably well. But I’d like to stand up for all the advocacy for “coding is the new literacy”. Just like you mentioned, not all social drive gets the result it wants, most results in compromises – so if you want an acceptable effect, you’ll have to make the noise much louder. I have never really understood (and enjoyed, sorry) all the religious missionary people until I realized the basic principle of all living forms – you try your best to replicate or spread, otherwise the species die. So does the social forms. Just like Christianity and Islam both fight to get people’s souls, I guess the “coding” drive is fighting for younger generation’s time too – against all the drive to become rock stars, basketball players, etc. Frankly speaking, I see much more stringent education in maths&engineering in countries like China and India, so I don’t think the “more coding” voices in the US is too much. Counting the safe margin.
Weixiang — Thanks for the response! I would like to ask a few questions.
1. What do you mean by “more stringent education in maths & engineering in countries like India and China?” Is it more people being educated in these fields? Or is it the people who are educated in these fields receiving a higher-quality education then people who study in comparable fields in the US/Europe? Or both?
Do people receive a good, well-rounded liberal arts education? My impression had been that education in China, at least, still has a huge legacy from the Confucian tradition of the tests for the Imperial bureaucracy. Which was a gigantic test of rote memorization and not necessarily critical thinking skills.
By the way, I think you have to be careful in comparisons of highly educated people (like yourself!) who come to the US from places like India or China versus “normal” Americans. I see comparisons like that at times and it always struck me as a bit unfair to compare the top 1% (or an even smaller population) who are very intelligent and also motivated enough to take the risk to leave everything they know and move to a foreign country with 100% of the American population. You have to compare the median in China or India with the median in America — or at least the median with a college education in both places if you are trying to compare educational systems.
2. I understand the point about Christianity and Islam and proselytizing. You are modeling them both as memes which need to spread or die, like Neil Stephenson does about religion in Snow Crash. This is an inherently reductionist view of faith which assumes that any kind of religious belief is just an intellectual meme trying to spread or die. There are serious philosophical problems with reductionism, one of the larger of which is that most reductionist viewpoints make unproven or unjustified assumptions (I outlined what I believe is your assumption about religion in the previous sentence.) I think this statement gives a good summary of problems with reductionism:
“And now we have a new form of reductionism in the study of neurology. The theory goes like this: If we could figure out brain chemistry, we could solve all the individual’s psychological problems with a pill. The talking cure (psychotherapy) would become obsolete. There is a naive idealism in scientists who seem to always be discovering a new aspect of science that they hope will bring a kind of salvation, and remake the world for the suffering into a world of beauty and happiness. The common reduction of lucid dreaming, OBEs, near-death experience, mystical experience, and consciousness itself to brain states and brain chemistry is part of this recurring hope….. Given reductionism’s failures in the past, we might expect that the properties of human awareness and religious states of consciousness may turn out to be sui generis and not reducible to the attributes and qualities of physical matter or biological systems.”
From: IDEALIZING SCIENTIFIC REDUCTIONISM
The limits of reductionism as a methodology
Final Thoughts: I think the overall gist of your comment is that “we have to overshoot to even get some additional people coding.” Ok, that is a fair point. Here is my concern: by fundamentally mischaracterizing or miscommunicating the nature of coding to people we actually end up doing more harm then good. Telling people something is easy when it is truly difficult sometimes discourages them more when they fail then being honest up front about the difficulty so they can prepare themselves mentally. Maybe fewer people try, but a much larger percentage of those who try succeed and end up being good at the endeavor. Also, by mischaracterizing coding we run the risk of having people be disappointed when they come to understand that the true nature of what they have attempted is significantly different than what was promised.
However, you can tell that I am not a salesperson :).
Don’t get me wrong: I am not promoting “coding elitism.” Whoever wants to should learn. I am just wary of promising the equivalent of a “get rick quick” coding scheme which encourages people to think something is easy which is a profoundly challenging discipline.
1. I mean both. Yes if that the comparison would be unfair. I was coming from a top 2 university in China so of course I am biased. But when I was TAing for a computational neuroscience undergrad course in UCLA I was astonished of the level of physics knowledge by many of my students – knowledge that were taught as early as junior high school in China. I do agree that the world’s best physicists & mathematician are mostly produced here, but counting the large percentage of Asian engineers in tech companies it seems reasonable to say that there can be improvements in the American education system. And it’s comparing bulk to bulk.
2. The religion question is always interesting, and controversial. So I would not discuss too much in details here 🙂 I absolutely don’t think religions are just about spreading – just like the success of a new product would not be merely about marketing – I’m just saying it’s an important part of it to be influential. Like a good product without ANY form of PR would have little chance to survive. Religions offer lots of benefit to human mind, both on individual level and species level throughout the evolution process. Interesting enough, my Phd mentor wrote a book “the brain bug” that has one chapter talking about this issue. I had lots of discussion with him and kind of agree on his view – it’s also the chapter that raised the most controversy, you can imagine. Nevertheless I don’t think it’s a questions that can be answered right now, not before we have any means to even measure “cognition”.
The reductionism can be a whole another article I guess 🙂 I only want to point out that, funny enough, while many Asian culture (like China) are trying so hard to adopt the “scientific” methods despite their “unscientific” nature (Yin/Yang, TCM vs western medicine, etc etc), Americans are doing the opposite. Amazing world 🙂 The whole argument about the limitation of “scientific methods” are so controversial that it almost becomes a religion itself.
Comments about the final thoughts: I think it’s reasonable to not underestimate children 🙂 I’ll end with a very interesting conversation that I once had with my mentor. The lab was discussing languages, critical period etc and he said, jokingly, “the Chinese kids – they were just taught this really, really difficult language and it was like ‘oh it’s just like that’, and they all learnt it! Without realizing how complicated it actually is!” We all burst out a good laugh. Then I replied, feeling very amused, that “you know what, for me English is really difficult too!” 😀