
No, Mr. President, Not Everyone Needs to Learn How to Code - pauljonas
http://www.thewire.com/politics/2013/12/no-mr-president-not-everyone-needs-learn-how-code/355939/
======
jiggy2011
The article argues that people should not learn to code but should understand
"the logical underpinnings to coding, the way conditional clauses work and the
cyclical way in which systems are constructed."

That seems to imply that we should teach things like if/while/for constructs ,
but do so without teaching an actual programming language? This seems like an
odd statement.

Not sure I agree with car engine analogy either, it's far easier to outsource
all of the mechanical work for your car than it is to outsource all computer
maintenance tasks. For example a car user is not expected to be able to
install third party parts to their own car and most car owners have no need to
do this. However we do expect users to be able to choose and install software
on their own computers.

~~~
blhack
Don't we already teach if/then/while/for statements in in high school math?

~~~
thrush
No we definitely don't. (perhaps only in rare cases)

The Math Curriculum at my high school was as follows:

* 9th Grade - Algebra

* 10th Grade - Geometry and Proofs

* 11th Grade - Pre-Calculus

* 12th Grade - Calculus

It would have made sense to teach integrals using for loops, and some proofs
using if/else statements, but we did not use either of these methods.

~~~
hfsktr
Mine was algebra for 2 years and then geometry with more algebra (only 3
required, guess how many people elected for more math). I don't remember much
but I never saw calculus in HS. I think the advance math classes went to pre-
calculus.

~~~
acchow
> I think the advance math classes went to pre-calculus.

Presumably using some ordering where algebra < calculus. I don't know what
your high school algebra was like, but mine was certainly much harder than
derivatives and integrals :p

~~~
hfsktr
Mostly it was learning about variables, plotting, some polynomials later. In
the end the majority of it was just memorization without a reason for using
it. I don't really remember most of the calc stuff I had to learn but I can at
least remember why it's useful but after 3 years I barely recall how to get a
derivative and would have to look up integrals.

Personally whenever someone can give me a percentage quickly (sometimes at
all!) I am impressed. I tend to feel math education is lacking (in
America/general). I especially like articles that surface on HN with math and
even more when they have illustrations/examples [1]. It's amazing how many
times I had read about it before it just clicked.

[1]
[https://news.ycombinator.com/item?id=6683866](https://news.ycombinator.com/item?id=6683866)

------
Spooky23
I love how the article mocks the President's suggestion, while offering the
lame "learn math" as an alternative.

He didn't say "everyone go out and become a programmer". He's using his bully
pulpit to inspire kids to explore the deeper side of computing, beyond video
games, etc.

In my personal case, my dad and my uncle both encouraged me to get involved in
technology via programming. I learned about data structures and basic
programming by inputing BASIC programs when I was 6 or 7 and learned about
things like memory management playing games on my aging PC XT in the early
90s.

I ended up a infrastructure guy, not a programmer, but that exposure was
personally inspiring to me. The President almost certainly inspired a few
thousand kids to take a look at programming.

~~~
randomdata
_> The President almost certainly inspired a few thousand kids to take a look
at programming._

Which, of course, is the problem. I'm not an American, but when I was younger,
there was a big push by my government to inspire kids to look at teaching. And
they did. In droves. Out of interest, a quick tally of the high school friends
I kept in touch with shows that 60% of them attempted to pursue teaching as a
career in some capacity.

Naturally, when you saturate a market, you get all the problems of market
saturation. Most of them struggled to find work, often landing only temporary
positions, and several gave up on their dream completely after not being able
to find any work in the field. Those who did find jobs as teachers have
watched their incomes decline.

The fear many have is that coding is just being pushed because programming is
currently, like teaching was several years ago in my area, experiencing more
jobs than people. By promoting coding as "the future" we are sending the
message to kids that if they just learn to program, they too can walk into a
$100K per year job like programmers do today. Except it won't play out that
way. It never does.

Silently introducing coding as part of the existing math/computer curriculum
seems like a pretty good idea. It is a useful device. However, having people
like Obama, Gates, Zuckerberg, and other famous people to talk about how
important coding abilities are makes it look like a play specifically to
increase worker numbers, which will end badly for anyone following that path.

~~~
Spooky23
Keep in mind that teaching is also a cyclic thing. Schools were built out in
waves, so without growth, you're subject to the waves of retirements and the
waves of school-age children, which vary dramatically. In my area of the US,
people in my age cohort (high school graduation between 94-97 all got teaching
gigs, no problem. People in my brothers group (2000-2004) are working in
Starbucks.

I think the difference between "You should teach" and "You need to learn to
code" is that coding is a practice, not a profession. I apply programming
skill to IT infrastructure activity, but I'm not a dev. My wife is a financial
analyst/Excel commando, writing all sorts of adhoc code snippets for BI and
other purposes.

------
cheneytsai
Another way to put it that my friend Ben stated today: "Not like saying
everyone should be a neurosurgeon, but that all should learn first aid."

So True.

------
dpcheng2003
Bravo.

Okay... I got fooled. I clicked on this link bait because I read it quickly
and thought, hey it's from Wired and they're somewhat reputable in the topics
I follow. Oops, nope, it's the Wire.

Well, you got me "thewire.com." You got my impressions with your poorly
written, straw-man argument. You got my attention writing things like
"plugging hot career" and "blowing air" to instill some sort of emotional
response. You even got me going back to this horrible article so I can
accurately quote your hyperbole in this HN comment.

Bravo. Now let's downvote this so we can stop sending them traffic.

------
RyanMcGreal
Reminds me of an article I read a few hundred years ago:

"No, Your Highness, Not Everyone Needs to Learn How to Read"

~~~
scrabble
Unfortunately those who couldn't were unable to read that article.

------
wellboy
The reason why people don't understand the value of coding is the fact that
they think it's one of the many skills you can learn in life, just as nursing,
knowing how to do heart-surgery, playing soccer and so forth.

However, learning how to do code teaches you problem solving and it does so by
teaching how to break down things. This is the MOST important skill in life.
That's why coding encompasses ALL the other skills, because if you know how to
code you can learn anything else, heart surgery, physics, biomedicine, a
summer sault, save money etc.

You can also learn how to break down things through studying something
technical such as Bio Engineering, Physics or Math, however these academic
studies are hard and not for everyone! In turn, coding is simply the best way
to learn problem solving, because it shows you results immediately and
everyone can learn it.

With everything else you can BS your way through, not with coding.

Now, there is one thing that coding doesn't teach you necessarily. It doesn't
teach you is how to connect with people, how to make friends, how to excite
people or how to . If you are a really curious person, it also teaches you
that, because the study of social dynamics/how people communicate is also all
based on logic and breaking down things. However, it takes a while to learn
that.

------
300bps
Every analogy that I have heard including the car one in the article totally
misses the point.

If you know nothing about cars and your mechanic is out to screw you, your
losses are pretty limited to the value of your car.

A company that I do side work for is out $250,000 from an IT project gone bad
from a previous consultant. If he knew literally anything about coding, he
would've spotted the tell-tale signs of a sheister early on and perhaps saved
himself a quarter million dollars.

I don't know of a downside to kids learning basic coding. If they don't like
it, don't do it anymore. But at least they'll have a baseline knowledge of it.
I learned how to cook french toast and sew in home economics in school and I
don't recall at the time articles like this saying how it's not necessary.

~~~
JonFish85
Just to play devil's advocate a bit (I don't necessarily disagree with you),
there is a danger in a little bit of knowledge.

Mis-applied knowledge can be a terrible thing. I've worked with people who
took one night-class in metal shop, and suddenly were giving tips to the
industrial design people. If someone with a little bit of knowledge is in a
position of power and decides, "No, we're doing this project in C because I
took a class in C and the teacher said it's the most powerful language," then
things are going to get ugly, fast.

To use the mechanic example, it'd be similar to someone telling their mechanic
to put 10W30 into their car because their cousin swears that it's the best oil
around (I know nothing about cars).

~~~
hanchennz
I swear the same thing happened during one of my projects - someone kept
insisting on building a .NET because they heard about it from a buddy. Luckily
we were able to convince them otherwise.

------
ScottWhigham
This sort of article represents the lameness of the 2013/2014 web today.

Step 1: Celebrity/famous person/politician makes a bold statement

Step 2: 50 bloggers simultaneously come up with an article titled "Why x is
not true". They then write the content around the headline. First one to
publish "wins"

It's predictable, really - and perhaps even more so on HN. HN's is often like
this:

Step 1: A post makes a bold statement or question in the headline and gets
100+ upvotes

Step 2: 5 bloggers simultaneously come up with an article titled "Why x is not
true". They then write the content around the headline. First one to publish
"wins"

Tedium. We've become someone's audience.

------
tripster
I read the president's suggestion as "everyone should learn how to think". If
he said those exact words, I'm sure someone would still take exception to it.

Personally, I think it's just as effective to buy every child a chess set.

------
pirateking
Learning to code is the new State standardized testing. A checkbox occupation
educators can tick while students mindlessly run through the motions.

Everyone needs to learn to _think_ and _create_. For that coding is a great
option, but not necessarily better than any other hands-on art or science.
Having fun and being able to express yourself and explore your ideas is the
most important part.

------
Aqueous
There's probably a middle way here....How about "Everyone who wants to code
should learn how to code?" That sounds about right, and hey, it's exactly how
it already is!

I'm kind of torn on this because I know that a lot of people just don't have
any interest in coding. Their natural aptitude flows in a completely opposite
direction, they enjoy things that I could never enjoy, and I don't see why I
should be forcing them to code just as they would never force me to do what
they like. On the other hand pretty much everything is going to be software in
a very short amount of time, and those people are going to have a hard time of
it if they don't learn to code at least a basic level so they know _something_
about what's going on. Does that make coding as fundamental as reading?
Possibly.

I think some sort of remedial coding should be a requirement in high school
until the student meets a reasonable standard of ability, and then they should
be let off the hook to be allowed to do what actually interests them.

------
farinasa
>I know how to code;

Please elaborate. You can write some html? You've done hello world in JS?
Mastered the basic constructs? Or have you worked on teams writing in strongly
typed languages developing large OO systems? Somehow I doubt it.

It's important because the phrase is being used to imply a position of
authority while telling people they shouldn't learn something.

------
salehenrahman
I was getting into a discussion on Twitter about the whole learn to code meme,
and then one guy says:

"In the future, I want my mom to tell a robot to get 3 tomatoes, and if they
have apples, get 5"

Although, I'm still not 100% convinced that learning to code is of any benefit
to someone not working in the technical field, but I have to admit: touché.

------
gverri
Just like not everyone needs to learn Math, Biology, Chemistry, and everything
else.

But they are important to teach children how the world operates and to make
them think.

Computers are becoming more and more ubiquitous. The web is hostile. The best
way we can protect people is by educating them.

------
salehenrahman
When I'm on my laptop, and in the event when I'm not doing any programming
work (e.g. making music, viewing photos etc.), I use the terminal to carry out
almost any task. Moving files? `mv <file>`. Deleting one? `rm <file>`.
Converting a collection of ogg files to mp3? `for f in *.mp3; do; ffmpeg -i
"$f" "$(basename $f`)".mp3; done`. And many, many more possibilities from
shell scripting.

So maybe, learn to write shell (or batch scripts). JavaScript and Python--in
my experience--doesn't help me handle my day-to-day tasks.

~~~
acchow
Until I started using linux, I never used the terminal to carry out any of the
operations you listed above. Why can't most people just use a mouse for these?

~~~
salehenrahman
Well, I didn't imply people can't. But I find it easier to use the terminal
than a GUI.

------
PaulHoule
Let's see Obama hire a programmer for CTO instead of some Harvard economics
grad who has only learned: (i) to be the recipient of privilege and (ii) to
justify the unfair system that gives him that privilege

------
tomrod
I agree with the sentiment, but not the reasoning. Comparative advantage is a
fantastic economic nugget.

------
xname
Geeks are so ... childish.

Politicians say lots of things. He did not mean it. He must already forgot
what he said.

What is more important to him is those things he will never tell you.

Don't waste your time on this.

