Should Everyone Learn to Code?
So the dog days of summer are upon us once again here in the northern reaches of the Linux blogosphere, and for countless young people out there, that means it's time for camp.
Some, of course, will take this time to pursue their sweaty fun in the great out-of-doors alongside our friends the ticks and mosquitoes. Linux Girl wishes those hearty souls well from the chilly confines of her arctic lair.
Many others will go to code camp instead, and learn skills that will last them a lifetime.
'It's Reasonably Specialized'
Coding skills figure prominently in the news with surprising regularity these days, and the prevailing message is that anyone can -- and really should -- learn them.
Yet is programming really something everyone should learn to do? That's a point worth pondering -- and none other than Linus Torvalds has reached a conclusion.
"I actually don't believe that everybody should necessarily try to learn to code," Torvalds said in a recent interview. "I think it's reasonably specialized, and nobody really expects most people to have to do it. It's not like knowing how to read and write and do basic math."
Down at the blogosphere's Punchy Penguin Saloon, Linux Girl couldn't resist taking a small poll to see how FOSS fans' opinions compare.
'It Seems Absurd'
"I'm gonna go with Linus on this one," offered Google+ blogger Kevin O'Brien. "It seems absurd to me that there should not be room for a little variety in what people do.
"I think everyone who has a desire to code should have that opportunity, and in this day and age I think a little basic literacy in computers is no bad thing," O'Brien added. "But that needn't take the form of coding."
Language and communications skills are the most essential ones to get out of school, O'Brien opined. "It is hard to succeed in any vocation without that."
'It Is Not a Life Skill'
Google+ blogger Brett Legree saw it similarly.
"I'm with Linus on this one," he told Linux Girl. "I mean, I wouldn't expect that everyone should become a nuclear engineer or a doctor or a financial analyst, so coding is the same thing, in my mind.
"It is a great choice for a career (or even a hobby!), but it is not a life skill like cooking and so on," Legree added.
"Why should everyone need to learn coding?" SoylentNews blogger hairyfeet agreed. "Most folks don't NEED to know coding, especially if the devs are doing their jobs and making software that works well and is intuitive.
"To say everyone should learn to code is as stupid as saying everybody should be able to do open-heart surgery, when a good 99.997 percent of people would NEVER be in a position to use it," hairyfeet added.
'Is a Great Chef Made Greater?'
"Coding is a very useful skill, and I hope that at least one of my children learns to code," offered Chris Travers, a blogger who works on the LedgerSMB project. "However, I do not think everyone should."
Coding is "a very generally applicable skill and it is also a skill which is useless by itself and outside of any context," Travers explained. "Coding can help solve problems, but it is not the only factor in any solution. Context matters."
For those who want to pursue a career in a knowledge industry or any technical or scientific field, "some coding experience would be extremely helpful," Travers concluded. "Is a great chef made greater by knowing how to code? I doubt it."
Indeed, "many people don't want and/or need to learn to code well enough as to write applications," Google+ blogger Gonzalo Velasco C. concurred.
'Some Are Just Terrible'
Coding is not for everyone, but school computer classes should include it in order to identify new talents and "lead them into their real vocation before they choose the wrong career path and a bright prospect is lost," Google+ blogger Rodolfo Saenz suggested.
"Who knows how many Linus Torvaldses or Steve Jobses are lost because of lack of exposure to their real vocations?" he added.
"I think everyone should be presented with the opportunity to code, but I don't even for a moment think that everyone has the knack," consultant and Slashdot blogger Gerhard Mack opined.
"I view it as the same as anything else: Some people are great at sports; some (like me) are terrible. Some people are great at music and can do amazing things with little effort and some are just terrible no matter how much effort they put in.
"I'll never forget one person in my high school computer science class who, despite being a 'straight A' student in everything else, never managed to learn to code," Mack recounted.
'A Lifetime Process'
"Everyone 'should' learn to code, but coding should also learn to come to everyone," Hyperlogos blogger Martin Espinoza told Linux Girl.
"Where is the foolproof tinkertoy programming environment that has been prophesied by everyone and their brother in computing since time immemorial?" Espinoza asked. "The computer is vastly more useful if you know how to program it, and it has gotten easier in some ways over the years, but not really so much easier that everyone is going to take up programming.
"Programming well is a lifetime process, not something you can expect the average computer user to do unless the tools do most of it for them," he concluded.
'Linus Is Naive'
Google+ blogger Alessandro Ebersol had an even stronger view.
"Linus is naive," Ebersol told Linux Girl.
"A computer is not a light bulb one just turns on -- it's more like a car, where one needs a driver's license to ride," he explained. "Everyone should learn to code, just as everyone needs to learn how to change a flat tire or else be at the mercy of strangers."
Similarly, "I do think that everybody should learn to code, at least on a basic level," Linux Rants blogger Mike Stone agreed. "It would teach them to break down a problem into small, manageable portions and solve each of those parts logically."
It's actually "less about the code itself than solving a problem logically," he added. "That's a skill that I think everybody should have.
"I don't expect everybody to be able to write their own OS kernel or anything, or even retain the ability to write 'Hello World' past their senior year, but I do hope they would at least retain the basic ideas, and that could only be a good thing," Stone concluded.
'I Hate to Disagree With Linus'
Last but not least, blogger and former educator Robert Pogson saw it similarly.
"I hate to disagree with Linus on this one, but he's not perfect," Pogson began. "Arithmetic/reasoning/problem-solving these days requires coding even if it's just making a spreadsheet to plan a mortgage."
When Pogson started teaching, "many high school students dropped out around Grade 10 because they just didn't get algebra/geometry," he recounted. "When I finished teaching, those same students were some of the most adept at creating and using spreadsheets to solve real problems."
'Every Student Should Know'
Some people are just not abstract thinkers, and "computers make maths real for them," he added. "The same goes for collecting, analyzing, finding or presenting information of many kinds."
Every high school student should know "one or more computer programming languages very well, even if it's just a spreadsheet," Pogson asserted. "I recommend PASCAL because it's very easy to learn and within days ordinary students can solve amazing problems with it."
In short, "computers are the fastest way to find, examine, modify and distribute all kinds of information in school and out, especially when the information is code," he concluded. "Every student should know how it's done, even if all they do is hire others to do it."