As people who have embraced technology we all see the benefits of it and it's foremost in our minds as to how useful it would be if others did the same but how many of us have really weighed up the benefits of someone spending 20 hours learning basic coding against 20 hours learning to cook, or plumb, or speak a foreign language, or understand physiology, or how to listen, or a safe driving course, or plastering, or gardening, or understanding statistics, or history, or spending that time with a friend.
It feels to me to be a gross generalisation - it's really useful to me therefore it's really useful - but without knowing more about the person in question, their life, their issues, how they think, that's really all it is.
(http://www.falstad.com/gravity.html)
"What happens if you drop a pen on the moon?"
If a pen is dropped on a moon, will it:
A) Float away
B) Float where it is
C) Fall to the surface of the moon
This question was asked to students studying physics across a range of levels. I don't know if they just cherry picked the really bad answers. I have no idea how these US educational course translate to international courses.> "The gravity of the moon can be said to be negligible, and also the moon's a vacuum, there is no external force on the pen. Therefore it will float where it is."
> "Gravity will not pull it down, because there is less of it. It shouldn't float away just because I've never seen it happen. There's a balance between gravity and the opposite force."
Just like you never know which email address will respond to a Viagra advertisement.
Or, you know, there's the fact that a computer isn't primarily a TV for serving you ads.
I guess "You don't have to learn how to code" would have been a more accurate title.
I'm with Jeff on the idea that programming isn't in the same class as reading and writing and basic maths but I certainly don't agree with the whole article.
But I think the criticism of his article isn't to say he's wrong, everyone should learn to code, it's that he's wrong, some people probably would benefit from learning to code.
My issue is really with the people who flip his position 180 degrees and say "No, everyone should learn to code". Both positions are wrong.
No one is seriously saying that learning, say, an obscure type of lace-making will improve your life in any way.
Learning to program is akin to learning to read; in a sense learning to program is really about learning to think clearly about a problem.
And that can be clearly applied to most aspects of life.
That's not a problem, that's opportunity.
... learn to fly a plane; learn to fight with a sword; learn to design cars; learn to write novels; learn to make shoes; learn to design clothes ...
So in that respect, why should I decide that one of my skills is the most utile on the planet and thus, everyone ought to be familiar with it. We all wear shoes that only a minority of humanity know how one can be built from scratch, and virtually no one can build one from scratch without requiring input from professions he/she doesn't understand.
IMHO, this whole "Learn to code" thing is a bit egotistic.
[EDIT] Changed "profession skill" to "one of my skills"
I also agree with what you advise that learning is good for its own sake esp. if it is a concrete skill.
--
But I think the "learn to code in a year" fad has less to do with normal concrete skills. A lot of the cheerleading present this mysterious "Coding" as some form of national imperitive.
I've seen references to how many 'coders' other countries have as some sort of Arms Race. More coders == better somehow.
Whilst I admit having zero coders is bad, I just don't think that happens in practice.
=====
Please learn to code. Also, learn to change your oil and maybe your spark plugs; learn to cook; learn to replace buttons on your shirts; learn to fix your leaky sink and plunge your toilet; learn to plant flowers and tomatoes; milk a cow; shovel some dirt; experience driving a tractor, both the kind in a field and the kind that pull tons of cargo down the expressway ...
Get out of your comfort zone, live for a minute in someone else's shoes and maybe, just maybe, you'll learn to respect the work that other people do and be willing to pay them for it - they deserve to be paid for their Work. Yes, sitting behind a desk all day bringing brainpower to bear on saving the company money is Work. Driving 11 hours a day is Work. Grilling that steak and walking it to your table is Work. It's all Work because it takes us away from our families, because it's so well regulated that it adds stress, because we'd rather be doing other things but the bills have to be paid (i.e. we have to pay other people for the Work they do keeping our lights on, our Internet connected and our water reasonably clean.)
So, please, learn to program. Then, when you need software built, you'll know why you hired me for "so much" and how much trouble I'm saving you.