
President Obama calls on every American to learn code - bbayer
https://www.youtube.com/watch?v=6XvmhE1J9PY&list=TL6euzOUWjLwl8_6zUc-uxbfDbAZw-8RhW
======
grellas
Speaking as a non-coder, but as one who did minimal things with programming-
like higher-level stuff ranging from the old DOS batch files to VBA and some
dabbling with SQL, I am curious whether real engineers believe the idea of
broad literacy in coding truly would be valuable and, if so, how exactly.

I am not speaking as a skeptic, just as one who does not readily see the point
and wants to know.

Of course, we are in a digital age and there is incredible value in knowing
how to code for the person who really masters this skill. And, among those who
do master it, you will of course have various gradations in skill level
ranging from profound to excellent to good to competent to serviceable, and
these in turn will give the bearer of such skills a range of opportunities
commensurate with the acquired skill level (and, when I say skill, I don't
mean mere technique but also inspiration, insight, imagination, and whatever
else it takes not only to pound something out but to do it in ways that stand
out).

That said, however, if I were to look, say, at 100 random friends and
acquaintances, I would question what good it would do for them to learn a few
basics about the syntax of some programming language, to learn a few things
about programming objects, and to learn a few things about control structures
if the sum total of all those few things is simply to understanding minimal
things about how coding works without being able to apply that knowledge
effectively to anything in their real-world lives. In my own case in having
hacked through some minimal interpretative stuff, I at least had some
professional uses for this sort of thing (e.g., using VBA to systematize a few
MS Word functions needed in our office). But, even at this level, most of the
people around me - being non-programmers - would run in horror from the idea
of even getting into that level of trying to interact with a computing
environment. For the most part, they were content to know as little as
possible about any of the inner workings of a computer and were totally
uninterested in delving any deeper. And these are the people who are out there
by the millions who have always been drawn to the simplest ways of interacting
with their computers (e.g., mouse and not keyboard). In my experience, unless
people naturally have a mathematical or engineering "bent," they simply would
rather not deal with understanding how something like a computer works beneath
the surface but want only to grasp its benefits at the highest level with the
least effort possible.

If most people are indeed like that (and I believe they are), how would it
benefit them in a practical sense, say, for future educational curricula to
mandate taking a prescribed course in learning to code. Even if this sort of
thing were required, wouldn't this be just like a prescribed foreign language
course in middle school that one has but a fleeting acquaintance with, only to
have little or nothing stick beyond getting past the requirement for the
purposes of passing a class. What residual value would stick from such fleeing
interactions with the rudiments of coding?

It seems to me that, if one is to derive true value from learning to code, one
needs to devote a significant level of dedicated hard work toward that effort
and, if one fails to get beyond a minimal threshold, the only value gained is
that of a very generalized form of knowledge that has little practical use in
the real world. And I would suspect that most people really do not want to
devote such an effort to this task. A good many do, of course, and, as noted,
this does have _huge_ value in our digital age for those that do. But why
expect it of most people?

There is nothing wrong, of course, with our political leaders encouraging
young people to learn to code and this may inspire some to do so. But coding
is not really like, say, writing, where gaining a minimal proficiency leaves
one in a much better position than not knowing how to do it at all. It seems
that, if most people can't get beyond some minimum threshold to make the
endeavor worthwhile, learning to code would not help the great majority of
people who are not interested in making the sort of dedicated effort that only
a relatively minority will in fact make to justify the effort in practical
terms.

That is my layman's view. Do those who really know this stuff agree or is this
just some disconnected elitist view of people that doesn't fit with modern
understanding? I would genuinely like to know because, to me, it does not seem
like a close question. Am I just being prejudiced here?

~~~
rolux
Just like the "prescribed foreign language course in middle school", a bit of
programming practice may widen your horizon, and help demystify these
seemingly opaque machines and networks.

It's about practice, not "knowledge" per se. Basic tasks, like: I have a
folder full of files, how do I get the filenames into a text file or e-mail?
Five-liners in high-level languages, the equivalent of asking for directions
in a foreign tongue.

Of course, that idea comes from a time when one would own a universal
computer, and own one's own data. You can argue that for many people, the
filenames and text files I'm talking about are already a thing of the past,
that it's all pinch and swipe, plus cloud storage.

~~~
rhizome
The irony about your very valid benefits of having basic programming knowledge
is that music programs, which have been _proven_ to provide benefits in math
and language and just general smartyhood, are the first to get their budgets
cut in any given budget battle. That said, how many working people have ever
had to face the problem of getting a list of filenames into an email?

[http://www.pbs.org/parents/education/music-arts/the-
benefits...](http://www.pbs.org/parents/education/music-arts/the-benefits-of-
music-education/) (not my favorite source, but there are plenty of pointers to
this data out there)

~~~
eropple
_> That said, how many working people have ever had to face the problem of
getting a list of filenames into an email?_

A lot of my coworkers.

They take a screenshot, thus offloading the hard part onto everyone who needs
to get data out of their email.

It's about as awesome as it sounds.

~~~
SiVal
I have to laugh at this. I worked in strategy consulting, where my coworkers
were all MBAs from Harvard, Stanford or, in our office, Tokyo University. We
had many cases where people had tasks of various sorts that they would handle
with the equivalent of this screenshot-of-the-data approach. I, a fellow
consultant, often groaned when I saw such things and wrote little utilities
for them, figured out how to dynamically generate PDFs for their presentation
data, or whatever.

At one point, the general mgr of our office, said that these things were so
valuable to everyone, and I was so good at it and seemed to enjoy it so much,
that he was wondering if it wouldn't make more sense for him to take me off of
my own consulting cases and make IT projects my only case. Of course, IT
people were thought of as lowly support staff for the elite consultants, so it
would mean a pay cut and end my consulting career. This wasn't a warning; he
was just thinking that this might better serve the needs of the firm.

That day I stopped being a valuable IT resource for my coworkers and reserved
my dev skills for my giving myself a "sustainable competitive advantage" in my
own work on my own cases.

~~~
peterjancelis
You should package up your tools and sell it to them on a subscription basis
per consultant head. Make sure the total price is at least your gross salary
and bake in a minimum subscription period. Quit your job, build all the tools
you ever wanted and sell it to all other consultancies and their offices.

The powerpoint extensions I used in consulting were created by ex-consultants
so it's not unheard of to do this.

------
jmduke
A lot of people are getting attached to the "every American" aspect of things,
and I think its important to note the distance between "knowing how to code"
and "becoming a programmer." Amateur programming (for lack of a better term)
like basic Python for data analysis or HTML/CSS to work on Wordpress sites
(Hell, one of my friends who's a Social Media Manager learned Python to create
some QoL scripts for her day-to-day routine.) is growing increasingly popular
amongst recent grads.

 _" Whether you're a young man or a young woman -- whether you live in a city
or a rural area -- computers are going to be a big part of future. And, if
you're willing to work hard, that future is yours to shape."_

It's hard to argue with the central message there, but we must be careful not
to conflate that with the necessity of getting a CS degree. Every American
should probably be able to change a tire. That doesn't mean every American
should be a car mechanic.

~~~
United857
We teach writing as a required subject in schools, without the expectation
that everyone is going to be a professional writer.

We teach science without the expectation that everyone is going to be a
scientist.

We teach physical education without the expectation that everyone is going to
be a professional athlete.

These are all good life skills to have even if you don't learn enough to make
it your career. So it should be the same with programming.

~~~
toomuchtodo
We should also be teaching how to change a tire, how to cook basic nutritious
meals, personal finance, etc..

“A human being should be able to change a diaper, plan an invasion, butcher a
hog, conn a ship, design a building, write a sonnet, balance accounts, build a
wall, set a bone, comfort the dying, take orders, give orders, cooperate, act
alone, solve equations, analyze a new problem, pitch manure, program a
computer, cook a tasty meal, fight efficiently, die gallantly. Specialization
is for insects.” ― Robert A. Heinlein

~~~
rjtavares
I hate that quote. It starts fine, but then reaches a stupid conclusion. I
wonder how much worse our life would have been without centuries of
specialization: in science, in education, in business...

~~~
toomuchtodo
I still find value within in. Sorry! Specialization is important for society
collectively, diversity is important for the individual. Balance is key.

I don't want to die gallantly though, just satisfied with whatever I've
accomplished and left behind.

~~~
rjtavares
I can certainly agree with that. "Specialization is for insects" is needlessly
insulting, though...

~~~
toomuchtodo
But true. How many jobs will you have during your lifetime? Will you only use
one skill throughout all of them, or even just one?

Specialization isn't just for insects. Its for robotics and software. Anything
that can't learn and evolve.

------
JonFish85
While I agree that it's a great mental exercise to learn how to code (and to
learn the mindset that goes along with it), isn't it much more important for
every American to learn how to budget? To learn how to save money? To me,
those are things that are _far_ more important to the country as a whole than
understanding even basic scripting.

As a quick example, the meaning of "afford" has changed in the last 2
generations or so. To my grandparents, "affording" a car meant being able to
spend the money to buy the car outright. To many of my peers, "affording" a
new car means being able to make the minimum payment on the car, or even just
the lease payment.

Many of my peers (meaning my specific circle of friends) don't even budget,
nevermind put aside money for the future. Hell, even friends in the finance
industry don't contribute to their 401k because they'll "do it later". To me,
this is a problem that is very serious for our country as a whole, moreso than
people learning to understand some basic code.

Don't get me wrong, I think it would be great for everyone to be able to
understand how computers work at a deeper level than "magic". It's just that I
think no one really bothers to teach kids how to save money, to invest, to
budget their lifestyle, etc. Just an opinion, though.

~~~
hga
Isn't that a rather ... subversive concept when a good fraction of those
learning it will then apply it to the Federal budget, their state's budget and
on down?

~~~
JonFish85
How is that subversive? It's basic personal finance. It's no more subversive
than teaching kids to share toys encourages communism, in my mind.

In general, people shouldn't spend more than they make. If they spend more
than they make one month a year, but save enough the other months to cover it,
no big deal. I don't see how that's any different at a macro level, but I'm
also not an economist.

To me it's far worse to avoid having people learn basic personal finance
things than it is to avoid it, in case some people apply it to bigger things.

We have major debt problems in the population, in my opinion. The housing
bubble was a part of it: buying things that one can't afford, with the
assumption that prices always go up. Credit card debt being near $1 trillion
(I think it's around $800b), college loans being over $1 trillion....
Borrowing has been made very easy for quite some time, but just because money
is easy to get doesn't mean that the average person should borrow as much as
they can (which is what I meant above when I said that affording minimum
payments != affording something).

Put those numbers up against the median retirement savings, which are ~$150k
for households with head-of-household aged 65+[1, Table 7]. It seems pretty
obvious that we as a nation should be educating people to save for their
future. I guess another solution, which would be to assume that people
can't/won't save no matter what, and use the government to facilitate that
"savings" (i.e. increase Social Security's role to the primary source of funds
for retirement). That way we wouldn't have to worry about people subverting
the system and can just trust the government to do all of the hard work for
them. That may match up better with your view, if you find personal finance
potentially subversive...

[1]
[https://www.fas.org/sgp/crs/misc/R43057.pdf](https://www.fas.org/sgp/crs/misc/R43057.pdf)

(Edited to fix typo: $8b -> $800b)

------
avenger123
This "learn to code" meme is getting tiresome.

Why not focus on the more critical skills in life that are more applicable to
most people. Here's a big one:

1\. Learn to communicate. Improve your writing and speaking skills.

~~~
Crito
Well presumably because we already are telling people to learn how to write
and communicate. Public schools spend more time on those topics than probably
any other. Furthermore, advocating mastery of one skill is different from
advocating basic literacy in another skill.

This said, I agree that _" learn to code"_ is tiresome. Why aren't cries of _"
learn basic electrical engineering"_ as popular? Or, if we want clear societal
benefit, why not advocate learning how to swim? Thousands of American adults
and teenagers drown every year; something like 36% of Americans cannot swim.

Of course _" either tell people to learn how to swim, or tell them to learn to
code"_ is a false dichotomy (both can be done at once) but I am wondering why
"learn to code" gets so much attention. The amount I hear about getting the
general public to code seems disproportionate.

~~~
gfodor
In the long run the ability to understand and manipulate information via
automated instructions (ie, coding) will almost surely end up being as
important being able to capture down and consume ideas (reading and writing)
or manipulate abstract quantities through symbology (mathematics.) It's a
fundamental skill that is plain to see unless you are so entrenched in the
contemporary details of things like programming languages and platforms that
you've lost touch with the underlying power, leverage, and joy of it.

~~~
Crito
The joy I find in programming is no more a reason to encourage people to learn
to code than the joy of plumbing is a reason to encourage people to learn to
plumb. People can find joy in nearly anything, that isn't something special
that coding brings to the table.

Power and leverage? Yes, coding gives you those things, in certain domains,
but I do not buy the argument that teaching coding is the most efficient way
of teaching these things. Trying to use coding to teach critical thinking,
logical reasoning, and basic troubleshooting would surely work, but we have
these things built into language and fields that is already designed to handle
it first and foremost, without the material distraction.

Very few universities start their CS programs off with something other than
vocational drudgery that would be pointless for anybody who just wants those
nice side effects of learning to code.

~~~
gfodor
Consider that in 100 years we will still have people performing some derived
concept of "coding" today, whereas all of our plumbing will probably be done
by the machines which are created by those people.

Coding is an abstraction on top of an ever more essential skill: directing
automated symbol manipulation. It seems foundational and those fighting
against it are best likened to the subset of monks who surely saw writing as a
skill to be learned only by a select few and not as some universal,
fundamental skill all people would need to participate in society.

~~~
Crito
The extent that programming has been required to make effective use of
computers has been in freefall since computers were first constructed. I see
no reason to think that this trend will not continue.

Making sure that people can effectively use computers is different from having
people learn to code. I really think that anyone who insists that the later is
necessary has some serious tunnel-vision.

~~~
gfodor
If this were true then we'd be hearing less and less about coding education,
not more. There would be less "I have an idea and need a programmer" people,
and not more.

More people want to learn how to code now because they realize they are at a
fundamental disadvantage in manipulating these things that are entering every
facet of our lives. This is the dominant force, not the slow marginalization
of the utility of writing source code vs. well established problems like those
that can be solved by Excel. In any case, programmers are currently proverbial
priests who are the gatekeepers to enabling this effective use of computers,
which I think explains a lot of the resistance to this stuff.

~~~
Crito
> _" If this were true then we'd be hearing less and less about coding
> education, not more."_

I don't think that follows. My hypothesis is that lots of programmers think
that programming is more important than it really is, and politicians wanting
to get tech on their side, humor them.

You know how rural farming towns often have strong 4H clubs? I think this
"teach kids to code" stuff is the tech equivalent of that. Everyone wants
little jimmy to grow up just like daddy and mommy, because daddy and mommy
consider their line of work to be uniquely important or special.

Those communities think it is very important for children to learn how to
raise cows, or drive a tractor. Ours thinks that it is very important for
children to know something about computer programming. I think that either
suffers from tunnel-vision and is is trying to put children into a box.

~~~
gfodor
Can you not see how programming, as a skill, and computer science, as a
discipline, are fundamentally different than things like plumbing and farming?

Society is on a trajectory. Automation, information processing, software. It
is well on its way to permeate literally every facet of life. If there is a
more direct way to position people to not be left behind in this shift than
ensuring they have a basic grasp of computer science and understand they can
make computers do what they want via code, I'd be hard pressed to come up with
it.

------
gfodor
Obama says a few nice things about Computer Science and encourages people to
learn more about the world, and HN still manages to find every possible
negative angle to trash it. Impressive!

~~~
gum_ina_package
Obama said a fundamentally ignorant statement that seems even more ignorant
considering all the technical problems with Obamacare. Hacker News is just
pointing this out.

~~~
gfodor
Encouraging kids to try to become astronauts is not an ignorant statement
despite the fact that becoming an astronaut is really hard. Telling kids to
try to design iPhone apps or make video games is much less so. It's a shame
that HN can't recognize what is fundamentally a good thing: a statement from
the president encouraging curiosity and proficiency in computer science and
programming. It's incredible to me that this community of so-called "hackers"
can be so quick to shit on it. Perhaps it's an insecurity thing, and they are
afraid if others learn their skills they may no longer be in the position of
power they are in now?

~~~
freebs
"encouraging curiosity" this.

I've tried to talk to younger kids in my family about building things with
computers. You'd be surprised how hard it is to get them interested, even if
they play Minecraft all day.

For many of us, we got interested in programming though randomly hacking a
game at one point in time. Telling kids that they can build their own games or
apps and helping them potentially get interested is a big deal in itself.

------
Steko
Kevin Drum (spoilers: knows how to code) had the best take on this:

[http://www.motherjones.com/kevin-drum/2013/12/no-everyone-
do...](http://www.motherjones.com/kevin-drum/2013/12/no-everyone-does-not-
need-learn-program-computer)

 _But wait. The link leads me to a fairly routine presidential video in honor
of Computer Science Education Week, in which President Obama encourages kids
to take computer science classes. "It's important for our country's future,"
he says. But I imagine he's cut dozen of videos for every other conceivable
skill that could be taught in our nation's schools. "Nursing is important for
our country's future." "Agriculture is important for our country's future."
Etc.

So did this really lead to a conversation about whether everyone should know
how to write code? How tiresome.1 I can probably list on one hand the number
of significant skills that everyone should know. The rest are optional. Some
of us know how to fix cars and some just hire mechanics to do it for us. Some
of us know the law and some just hire lawyers to help us out. Some of us know
how to drive trucks and some choose other careers.

In any case, I don't think computer programming would even make my top 20 of
broadly useful skills.2 It's a great thing to learn if you plan a STEM career
or if you just feel like learning it. But useful? For the vast, vast majority
of us it's of no use whatsoever. Reading and writing are useful in nearly all
careers, and are useful personally even if your job doesn't require them. But
coding? Unless it's part of your job, the odds are vanishingly small that it
will ever be of much use to you. Nor is it something that's useful in its own
right because it promotes clear thinking. Nor is it a steppingstone to other,
more broadly useful skills.

Coding is a specific skill needed for certain specific jobs. That's it.
There's no need to put it on a higher pedestal.

1Tiresome because this comes up so often. Why do so many people insist that
whatever skill they happen to know is one that everyone should know? There are
lots of skills in the world. All of us know only a tiny fraction of them, and
that's the way it should be.

2As a time-wasting skill, however, computer programming is hard to beat. I can
no longer count the number of hours I've spent coding (or scripting) little
utilities that did me no real good at all. But it was fun!_

~~~
pmichaud
I don't agree with Kevin. It's true that you can function without programming,
but it's also true that being able to program could improve pretty much any
job. Even a janitor could develop, say, a logistics application to optimize
his path through the building he cleans, or build a roomba to vacuum for him.

And more broadly, I really do think programming improves the quality of my
thoughts. I remember when I was 10 or 11 consciously experiencing the
sensation of getting smarter as it dawned on me at deeper and deeper levels
how to think precisely about problems. And that skill set invades every aspect
of my thought process now. I find it to be a remarkable improvement.

On a practical level, programming is probably the best employment fall-back
ever. I don't know many fields that you can enter without any credentials and
make $100k+ within a couple years. That may change, but I expect it'll stay
the same or improve for at least a few decades. So just for that reason, it
may be wise for anyone who is capable to learn it.

~~~
jonnathanson
_" it's also true that being able to program could improve pretty much any
job. Even a janitor could develop, say, a logistics application to optimize
his path through the building he cleans, or build a roomba to vacuum for
him."_

If a janitor develops the skills to go that far, why would he still be a
janitor?

I'm not saying that to be glib. I'm saying that because coding is a specialty
that requires a great bit of practice to get functionally good at. The time
and effort invested in getting good at programming just isn't worth it for
many professions, whereas hiring specialists to do the programming is.

Sure, our hypothetical janitor would be able to do some cool stuff if he could
develop apps. But if he can develop apps, economically speaking, he should be
transitioning into higher-value and higher-paying services. (Unless he wants
to disrupt custodial services with a startup -- but not every janitor should
found a startup. That would be impractical.)

Saying "everyone should be able to code" is a bit like saying everyone should
be able to do college-level statistics. I can't think of a single profession
that _wouldn 't_ benefit from a college-level understanding of statistics. But
not everyone's cut out for it; it's not fundamentally necessary to every
profession; and in the context of a market economy, it functions better as a
knowledge-specialty than as a broad foundational skill. (This isn't a flawless
analogy for any number of reasons, but hopefully you see what I'm getting at.)

~~~
vasilipupkin
Absolutely. The real tragedy of our economy is not that everyone should be
coding but isn't, but that it's not generating enough demand so that even
people who are good at laying bricks and driving trucks, etc. have enough job
opportunities

------
api
While I think more people should learn code, I think the _president_ getting
up and telling _everyone_ to do _anything_ that isn't applicable to... well...
_every-freaking-one_... is stupid.

Washington is clueless in two ways. (1) It normally doesn't get new things and
lags behind. (2) When it does get things, it proceeds to fail at execution or
not really get them and do ham-fisted things like this. So that means that
Washington is always clueless about everything.

Sometimes I think the only thing that keeps us from being invaded or otherwise
run over by the rest of the world is that nearly all other governments are at
least as incompetent as ours.

~~~
kamjam
I agree. How many of those making laws right now know anything about
technology let alone how to code? So why does Joe Public specifically need to
know _how_ to code? It would be much better to teach people math and proper
grammar, that would get them much further in life.

~~~
eru
What do you mean by proper grammar? Stuff like using "you and me" correctly
and not falling into the "you and I" prestige English trap?

People acquire proper grammar naturally with their native language.

~~~
Crito
Proper grammar, for practical purposes, should be defined as _" is capable of
talking in a way that will not put them at a disadvantage in job interviews"_.
Use of the the word _" ain't"_ probably isn't worth worrying about; stunted
vocabulary and inability to match tenses probably is.

~~~
kamjam
Yes, this is exactly what I meant. I'm not pedantic enough about the "you and
me" stuff, or even fully correct in my own punctuation and I'm a native
English speaker. But knowing the difference between "there, their and they're"
is very important for example.

~~~
davorak
It seems like you might be more concerned with people knowing how to
communicate well. Knowing how to format their thoughts so that they will be
understandable through conversation or text. The ability to adapt this
formatting process to fit the audience they are trying to reach.

~~~
kamjam
Yes, that also. As a programmer, half the battle in trying to understand an
issue exactly what you have just stated. In my job the second part is also
very true, tech speak for other developers, business/marketing for everyone
else. But I've found this applies to all walks of life.

To me, programming comes down to breaking a problem down into smaller pieces,
which is basically like algebra. My first internship (way back) required us to
carry out a written test: here are some simple algebra equations, you have a
basic calculator with one (or two, can't remember) memory bank, write out the
exact exact key presses to solve the equations. To me it was simple, but
apparently not to everyone.

It's stuff like this which the education system _should_ already be teaching,
work on improving that rather than trying to get _everyone_ to code. Coding is
not for everyone, your doctors, lawyers, actors, artists and many others are
not going to need it

------
Aloisius
When I was growing up in Silicon Valley, everyone learned to code using Logo
in (iirc) third grade. Everyone also learned to type. It was a required part
of the curriculum.

Teaching us to code didn't mean we didn't learn to communicate. We still were
taught math. At no point did the small period in programming and typing done
once a week somehow deprive us of critical life skills.

It did however have a dramatic effect on myself and a good amount of my class.
By the time I was in 6th grade, I knew three people running their own BBSes
out of their houses (this was about 1989).

Not everyone who went through Bullis Elementary went into programming, but
thinking procedurally (though technically Logo is a functional language), is a
valuable skill to be learned regardless. In my opinion, being able to break a
large task down into simple steps is a critical life skill.

------
pvnick
I frequently disagree with the president, but he really hit the nail on the
head with this one. I've been saying for a while now, if we were to replace
high school and college foreign language requirements with a computer
programming language class, you would propel America way ahead of everyone
else (more-so than now) in terms of industry and innovation, and do wonders
for the economy, all within a decade.

Think about it. Teachers, scientists, psychologists, poly sci majors, doctors,
all with basic computer programming abilities. With the ability to build
efficiency into their work. That would be so immensely powerful, the
investment would be untold dividends. Way more than memorizing spanish vocab
for a grade and then forgetting it.

~~~
oracuk
There are a couple of assumptions built into your proposal that I would want
to see some data to support:

1: Computer programming competes with foreign languages in high schools and
colleges.

2: The economic value of programming languages is greater than the economic
value of foreign languages.

Your last sentence also suggests you are comparing apples and oranges, a grade
of a foreign language that is dropped against achieving basic computer
programming abilities. These are not the same level of achievement.

I think understanding computation is a key 21st century skill that we would do
well to invest in but I think foreign languages also have value.

~~~
entendre
1) I don't know what country you're from, but in America here is how it works:
In general, competitive colleges require at least two years of foreign
language classes in high school. Stanford would like to see three or more
years, and Harvard urges applicants to take four years.

When a college recommends "two or more" years of a language, they are clearly
signaling that language study beyond two years would strengthen your
application. No matter where you apply for college, a demonstrated proficiency
in a second language will strengthen your application.

Students who have just the minimum can win admission if their applications
demonstrate strengths in other areas. Some less competitive schools don't even
have a high school language requirement and assume some students will simply
study a language once they get to college.

If you score a 4 or 5 on an AP (advanced placement) language exam, most
colleges will consider that evidence of adequate high school foreign language
preparation (and you're likely to get course credit in college).

2) Foreign language requirements are originally a product of enlightenment era
education curriculum and have been kept afloat with notions that in a
globalizing economy candidates who can work internationally will garner higher
wages and be more productive. This is true, to a degree, but wouldn't you
rather work for a Swedish web design firm from your US based coffee shop?

~~~
logfromblammo
US universities should really ditch the general language requirements and
leave it up to the college or department within the college to decide whether
it would even be useful.

Air traffic controllers and software programmers only need to know English.
Business students intending to work for a multinational need at least one more
language, and they should be from this list: Spanish, Mandarin Chinese,
Cantonese Chinese, Japanese, Russian, German, French, Portuguese, Korean, or
Standard Arabic.

The vast majority of graduates of US universities who are from the US will
never need a second language other than Spanish, and they won't even need to
know it all that well.

------
wes-exp
It's easy to point to the feel-good topic of education and cry foul when
anyone is against it.

But here is the reality.

America already overproduces scientists and engineers. The whole notion of
talent shortages is generally hot air from special interests (in this case,
tech companies) who want a cheaper supply of labor and cannot bear the idea
that skilled engineers actually cost a lot.

A lot of effort is put into trying to turn ordinary folk into high-caliber
professionals, with things like "everyone should go to college" or in this
case "everyone should learn to code". It's not surprising educators are happy
about this as it provides a steady customer base (students). Politicians are
happy to support it too, after all what could be bad about more education?

The problem is that Joe laborer simply isn't a good fit for STEM fields and no
amount of education will change that. He wastes his time and effort trying to
become something he's not. In that time he could have been doing something
productive and meaningful instead.

I've heard good things about the German model of apprenticeship, which accepts
the reality that not everyone is cut out for rocket science. I'd like to see
something more like that in America and less bullshit like "coding for
everyone". People are different... let's encourage them to do whatever they
are actually suited for.

~~~
mikeleeorg
_America already overproduces scientists and engineers._

Out of curiosity, do you have a link to any evidence or supporting materials
to this claim? It's the first I've heard of it.

~~~
aestra
There's some conflicting reports and I read a pretty good analysis a while ago
that convinced me, but I don't have it, here's some light reading.

[http://spectrum.ieee.org/at-work/education/the-stem-
crisis-i...](http://spectrum.ieee.org/at-work/education/the-stem-crisis-is-a-
myth)

[http://www.businessinsider.com/the-real-truth-about-the-
stem...](http://www.businessinsider.com/the-real-truth-about-the-stem-
shortage-that-americans-dont-want-to-hear-2013-5)

[http://gizmodo.com/there-may-not-actually-be-a-shortage-
of-s...](http://gizmodo.com/there-may-not-actually-be-a-shortage-of-stem-
workers-at-1235528794)

[http://www.cbsnews.com/news/is-the-stem-job-advantage-a-
myth...](http://www.cbsnews.com/news/is-the-stem-job-advantage-a-myth/)

~~~
mikeleeorg
Wow, very interesting. Thanks for sharing.

It's also interesting (and perhaps, sad) to me how there are stories in
Silicon Valley where a top engineer or two are offered massive financial
incentives to join another company. Those stories are usually cited as
examples of a technical talent shortage in the Valley, but in reality, they
are exceptions, not the rule.

~~~
aestra
I really wish I could find the original paper I read on the subject for you. I
just went looking for it again and I didn't find it. It was something I read
randomly in my travels, it was really long and really well researched with
lots of data. I wish i bookmarked it. I found some more interesting stuff
though.

[http://www.issues.org/29.4/hal.html](http://www.issues.org/29.4/hal.html)

this one has more of an "agenda" behind it

[http://www.vdare.com/articles/national-data-stem-shortage-
sh...](http://www.vdare.com/articles/national-data-stem-shortage-shouters-
suppress-salient-statistics)

------
kunai
Call me a cynic, but I'm really indifferent to this entire "everyone should
learn to code" nonsense. There are so many mistruths that Code.org is
spreading that it's shameful. Let's get down to the biggest one: that with a
"little bit of math and science" you can build the latest video game or write
an app.

Buzzer #1. It doesn't take just "a little bit" of math. It takes a TON of
math. Reading CLRS took me a month to master, and that was already with a
background in elementary calculus using the infinitesimal approach. I'm
reading Knuth's seminal "Art of," and I can immediately say that it would be
absolute hell for anyone without an advanced mathematics background.

That brings us to mistruth #2: that somehow, learning to "code" will help
younger people build tomorrow. That's utter bull. Learning to code will only
lead to worse code: uglier, crappier, and less elegant and efficient code.
Github will become a junk pile. Instead of coding, we need to teach students
the programming part of computer science. Get a copy of Algorithms into every
CS course and get rid of all of the silicon in the classroom. Trust me, people
will learn much more meaningful things about problem-solving that way. Isn't
that what writing code really sets out to do? You know, SOLVE PROBLEMS? Just
code is NOT going to help that at ALL.

Then there's problem number 3, and probably the largest one: it assumes that
programming is something we need EVERYONE to learn. EVERYONE. Yes, that is
Code.org's goal. EVERYONE SHOULD CODE.

You know what, fuck it and let's teach EVERYONE TO BE A MECHANIC. Right? Why
the hell not? It's like programming. Only that nobody in their right minds
would tell people to make mechanical engineering a part of the curriculum. But
people insist on doing the same for CS, as if it's any different.

I could go on about this for days. But forget it, Atwood's explained it far
better than I ever could.

––––––––––––––––––––––––––––––––

originally posted in the original discussion located here:
[https://news.ycombinator.com/item?id=6873136](https://news.ycombinator.com/item?id=6873136)

~~~
VLM
"Only that nobody in their right minds would tell people to make mechanical
engineering a part of the curriculum"

At the elementary school level, my kids attend a psuedo-STEM school and sadly
you're not too far off the mark. Its pretty much that and civil.

Civil is actually a good one for kids. Give them a beach and some water
buckets and shovels and they're happy for days if not weeks. Some clay and
dirt works even better although filthier. Its pretty much outdoors only due to
the mess, so the kids are stuck with a mostly MechEng STEM

~~~
walshemj
Do US schools not have "shop" class that teaches this I certainly did wood and
metalwork and technical drawing at my UK school.

~~~
VLM
Not exactly. Those used to focus on "actually doing stuff" and tradesman type
careers, which about half the grads eventually end up doing after dropping out
of super expensive university. Socially that has an incredible negative
opinion over the past few years (lots of marketing by the .edu and banking
complex to spend more on schooling). So between irrational hatred of the
trades and liability costs and/or insurance, shops have been mostly although
not entirely removed.

Drafting is still borderline acceptable because its assumed you'll be an
engineer and obviously the training you get in autocad 2003 at school will be
about as useful on the job in 2023 as my experience with Bank Street Writer
when I use vim today (In other words zero if not negative)

The STEM fad is less oriented toward practical tradesman type stuff and more
toward physical learning... we're doin' it "engineering style" if we build
bridges outta lego for fun time instead of playing dodgeball or having a
spelling bee.

The fad is burning out... An inductive proof of all .edu fads, or all fads in
general, is something like generation zero was real STEM, but n+1 was 95% of
what passed for STEM in generation n and 5% whatever we used to do. Once
generation n gets to a high enough number you end up doing whatever you feel
like. Comes from not having a real definition, along with everyone loves a
popular label, so kindergarteners attend STEM schools meaning ... um what?

~~~
walshemj
Well learning the basics of technical drawing isometric views etc is till
useful whether you use a pencil or auto cad.

------
rhizome
The message is clear: top political donors want cheaper labor.

~~~
api
Yep. Can't have high-paying jobs. That would empower people.

We are very rapidly moving toward a time when the labor battles of the late
19th and early 20th centuries will have to be re-fought. History is clearly
showing us that the alternative to activist labor is feudalism. In "natural"
markets, multiple overlapping network effects cause nearly all wealth to flow
to a very tiny number of strategically positioned or connected participants.
Everyone else must fight for a slice of the pie. Even in a growing-pie
scenario, nearly all the _growth_ flows to the top; a rising tide lifts only
the largest boats.

The libertarian ideal of volitional culture leading to equality and general
prosperity is, like nearly all other political ideals, rapidly shaping up to
be false. It's becoming clear that the natural state of human affairs is
feudalism, and that anything else is an unnatural state that must be
maintained "artificially."

~~~
dnautics
how's that state-subsidized going to college working out for everyone? Or
state-subsidized home ownership?

~~~
api
They worked for a while. Now new approaches are needed. Everything is like
that. Human progress requires both a continuous input of energy and a
continuous state of change and innovation. There is no formula for progress of
any kind that can be applied unchanged forever.

------
bichiliad
"When you guys are good, you should totally take a crack at healthcare.gov.
That'd be awesome."

~~~
0xdeadbeefbabe
Can't they get the stuxnet guys to help with that, or even their managers who
understand how to get software done? Don't tell me they don't have some
overlapping skills.

~~~
nickff
To be fair, stuxnet proved that some government agencies could create code to
break things; healthcare.gov is already broken, so they don't need help from
the stuxnet team.

~~~
0xdeadbeefbabe
Well, stuxnet breaks things in one or two specific known ways on purpose and
the healthcare site is broken in lots of unknown ways by accident. You think
that is fair?

~~~
nickff
I was trying to be fair to the healthcare.gov administrators, but I agree with
you.

------
jliechti1
Judging from the responses so far, it seems the thread is going to evolve into
a similar fashion to these previous threads discussing the same topic (not to
say it isn't worth discussing again - but it has come up quite often
recently).

Most on HN seem to support the idea that not everyone should become a computer
programmer (as a profession), but being exposed to the ideas in used in CS are
very helpful for learning how to think about certain types of problems.

Personally, from a practical standpoint, I think a lot of people could benefit
by learning basic scripting to automate computing tasks - I've seen way too
many people doing extremely tedious tasks by hand, when a simple script could
have saved them hours.

\---Similar discussions---

Everybody does not need to learn to code:
[https://news.ycombinator.com/item?id=6237007](https://news.ycombinator.com/item?id=6237007)
(74 comments)

Why everyone should not learn to code:
[https://news.ycombinator.com/item?id=5302157](https://news.ycombinator.com/item?id=5302157)
(62 comments)

Please learn to code:
[https://news.ycombinator.com/item?id=3975992](https://news.ycombinator.com/item?id=3975992)
(147 comments)

Please don't learn to code:
[https://news.ycombinator.com/item?id=3975744](https://news.ycombinator.com/item?id=3975744)
(268 comments)

------
LionRoar
I went to the code.org site, looked around and tried the objective-C version.
I was (positively) surprised that it did work because I am not in the USA at
the moment, meaning it's not blocked for non-USA access.

The simulator didn't work unfortunately but they did warn about this on the
site when I started. After I had done the tutorial I landed on the Summer
Academy page where you can do a 8-9 week course in programming. Very nice!

Then I discovered that this was certainly not for free: $5000 it will cost
you. I must admit I was a little shocked. That is not a price every one can
pay for this learning to code adventure. That was a part Obama did not
mention. It feels like a standard marketing trap, luring in people to do your
course, buy your software, etc. Only difference is the frontman of the show ;)

It's proved again: there is no such thing as a free lunch. Now walk on please,
nothing to see here.

------
vezzy-fnord
Personally I find the contemporary "learn to code movement" to be asinine for
several reasons:

1) It supports affirmative action and seeks to set sex quotas.
([http://slashdot.org/story/13/11/24/187255/codeorg-more-
money...](http://slashdot.org/story/13/11/24/187255/codeorg-more-money-for-cs-
instructors-who-teach-more-girls))

2) It offers a very sugar-coated and frankly nauseating view of "coding". It
adulates this mysterious and powerful essence dubbed only as "code" and is
highly biased towards the imperative paradigm. Notice how they rarely use the
word "programming", but rather it's always "code". This signifies that they
value parroting instructions more over actual understanding.

3) The testimonials by all sorts of celebrities are simply ridiculous and
laughable. So many actors, musicians, sports players, politicians and business
moguls, but barely any actual computer scientists.

4) The way they present their entire campaign, and considering who backs it,
leads me to believe that their motive is not to foster computer science
education, so much as to teach people just enough skills to be a 9-to-5 code
monkey that can write instructions in Java or some $EnterpriseLanguage. Cheap,
disposable labor.

5) Absolutely no focus on software freedom and ethics, of course.

6) Another possible outcome is that by making computer science (rather merely
coding in this case) a mandatory subject, they'll end up alienating many kids
from it. This depends on the aptitude of the educators, but it's safe to
assume it won't be too good.

7) This is arguable, but merely learning to code basic programs doesn't really
offer too much insight into the complex process that is software development.
The educational value in writing Ruby (used here as an example), while not
void, is not that great by itself. Programming languages and natural languages
have this thing in common: they're different. Ruby isn't Haskell.

~~~
beambot
Wow, that was a lot of strawman arguments. (1) The OP's title calls for _every
American_. (2) "Code" is pretty agnostic as far as paradigms. Many people
would be served just fine by learning how to do basic computation, graphing,
and scripting in Excel. (3) These folks are not computer scientists, but they
don't need to be to advocate tech literacy. (4) It's about life skills (esp.
tech literacy) -- more like Thoreau-style self reliance rather than becoming a
disposable cog. (5) Cart before the horse... (6) You mean like math, science,
reading, and writing? (7) Learning to code basic programs helps you accomplish
real tasks. Insight into "software development" be damned. I drive a car, but
I'm not a ICE thermodynamics expert.

------
robomartin
I'd rather have every American learn how to vote. Far more damage is being
done to this country by ignorant voters. Far more benefit could be derived by
having an intelligent, well informed voting population. The best way to
protect your future and that of your children is to elect representatives that
will truly do what's best. The economic implosion of 2008 had nothing to do
with not knowing how to code, write, cook or weld. It had everything to do
with horrendously misplaced public policy and legislation. Learning how to
critically analize issues without the influence of emotion, religion or
political indoctrination to then intelligently cast votes is what we need
people trained on.

Then again, no politician would want this reality.

~~~
dinkumthinkum
Which is worse, uneducated people voting, or libertarians? I'm not sure.

~~~
bmelton
Unnecessary political trolling is unnecessary.

~~~
dinkumthinkum
It's not unnecessary. It's an appropriate response. Why is it that uneducated
voters are worse than libertarians?

------
matthewmcg
Steve Jobs in one of the Bob Cringley interviews:

"I think everybody in this country should learn how to program a computer--
should learn a computer language--because it teaches you how to think. It's
like going to law school. I don't think anybody should be a lawyer, but I do
think going to law school would actually be useful because it teaches you how
to think in a certain way, in the same way that computer programming teaches
you, in a certain way, how to think. I view computer science as a liberal art.
It should be something that everybody takes."

------
intellegacy
I learned to code. Listened to all the advice of hackers who said it was the
most important thing ever, and they'd never work with you on startups unless
you coded as well.

Well I learned. I worked as a software dev for 1 year as well. And you know
what I've learned? I have no passion for coding and it makes no sense to force
myself to do something I'm not interested in doing.

If anyone is interested in working with me on a startup let me know. I'm a
founder who knows how to code but doesn't like to.

------
kbudinoski
Can Obama call every doctor or scientist or pharmacist to find cancer cure?
Technology has gone too far, medicine and pharmacy are not moving forward. I
really appreciate Obama's speech.. but why there aren't any initiatives in
other fields...

------
natural219
In the back of my mind, I secretly resent this code.org initiative. It is
clearly a good effort that needs to happen, but man, I really enjoy my cozy
position as a web developer in 2013 making an insane amount of money doing
relatively little work.

------
thearn4
Wow. Looks like Youtube comments haven't improved much after all.

Seriously, it seems like half of the comments seen on Youtube (or at the
bottom of any article on a news site) read as if they could have come right
from a post on StormFront.

~~~
brandonbloom
Disclaimer: I'm a major contributor to Code.org's own tutorials.

Most of the comments here on HN are similarly shameful. How can free, high
quality educational materials, and lobbying to improve access to computer
science education possibly be a bad thing? I've talked to a ton of educators
and technologists and they are nothing but excited, then I come here, and it's
cynics and conspiracy theories.

~~~
mrschwabe
Shameful? And the president himself is not shameful? We are witnessing the
biggest information scandal in the history of mankind ie- 'Snowden
revelations' \- and it all happened under his watch.

------
dadagaaa
Nice. But I would prefer if he first stopped torturing people and putting his
own citizens on kill lists.

~~~
seanhandley
Amen to that.

------
siliconc0w
The most important aspect is more to _think_ like an engineer
(software/system/data whatever). This lets you at least recognize common
information problems:

Why does this document go to each person serially when it could go to them in
parallel).

Why do we store all our important data in a word doc on a windows share where
it's difficult to collaborate on it.

Why are the other business group repeating 50% of what my business group
already does.

Why are we keeping so many versions/copies of this data - any changes to one
copy is exponentially expensive as we have to update the other copies.

Why is it so difficult to keep track of projects/issues/tasks/action
items/etc?

Why am I manually running this report instead of getting it automatically
emailed to my team ever week.

Why is it difficult to communicate and collaborate to colleagues in different
parts of the company.

etc.

So much modern "work" are really just repetitive information problems that are
so common that they're easily solvable by existing tools. Likely free ones.
You just have to be able to recognize them and apply the correct solution.

------
jmspring
How about rather than asking everyone learn to code, we encourage everyone
(skilled or not) to maybe pick up a trade or other skill with marketable
options.

Not everyone has the skill set to code, just like some don't have the
dexterity to metal work. Maybe we should be encouraging continual education
and learning something new.

There is way more to civilization than "coding".

~~~
efuquen
I feel like that's like saying not everyone has the skill set to learn Math,
Science, English, or History. And to a sense it is true, there are many
Engineers that have terrible grammar, vocabulary, and can't write worth a
damn. And then there are plenty of excellent writers, artists, graphic
designers have terrible Math skills or know nothing about Science. And then
History, let's not get started how many people don't know some extremely basic
facts about American history, let alone history from other places around the
world.

Yet these are _all_ foundational classes up through secondary school. Why are
we bothering to teach people things that they will ultimately be bad at?
Because we've established that these subjects are so important, that they
underly many fundamental things, and that they are important to being a _good_
citizen.

Indeed there is more to civilization then "coding" (or computer science,
technical literacy, etc.), just like there is more to civilization then any of
the numerous subjects I listed above. The point is it's up to us as a society
to decide which of these subjects are important to emphasize, which has the
most value, and which will help people the most in living productive and good
lives. You might not think computer literacy (which has been lumped under the
label "coding"), and not just in the learning how to type sense, is that
important; but I respectfully disagree. Computers are everywhere and they're
not going away anytime soon; far too few people know how they work on the most
basic level, I think it's important as a society we address that.

------
mikeleeorg
As a parent, here is how I interpret this:

Obama isn't saying my child MUST learn how to program. He is just highly
encouraging it. And as a parent looking toward the future, I will highly
encourage it as well.

However, that's just one useful skill. I believe a lot of skills are very
useful. Knowing how to cook, how to change a tire, how to balance a personal
budget, etc, are all extremely useful. They aren't mandatory; it's possible to
get through life without knowing them, but life will be that much easier with
them.

So I'll be exposing my child to computer programming, as well as a litany of
other things. My aim isn't to turn her into a computer scientist, it's to give
her another valuable skill as she figures out what she wants to do with her
life. If it's to become a programmer, awesome. If it's to become a doctor, or
dancer, or whatever, equally awesome. But at least she'll have exposure (but
not necessarily mastery) of a range of useful skills.

------
Taylorious
I for one welcome anything that exposes people to programming. I don't think
it will necessarily transform the US economy or anything, but I think it will
be genuinely good for people to have the exposure. K-12 and college students
are taught all kind of things that may not click with them or be relevant in
their daily life when they get out of school (plenty of people never use math
or writing skills in their actual job/life). What I'm getting at is even
though many people won't "get" programming or will simply have no desire to
pursue it, exposing them to it wont kill them. There are also people who never
thought of programming but try it and it does click with them.

At my university the intro CS course counts as a language. Since many degrees
require a language course, lots of non CS students take it so they don't have
to take French etc. A surprising number of strong CS students in my senior
class started out in another major, took the intro CS class for their
language,and then ended up switching majors! One person was going for nursing
before he switched to CS and is now doing graduate level research as a CS
undergrad and will be going to get a phd in CS and math. You'd think the guy
has been programming since he was in diapers.

Unfortunately CS is one of those subjects that a lot of people are never
exposed to and will never know if they love it or have a knack for it. It
seems like most of the CS majors I have encountered are people who are either
computer/math nerds or people were big into gaming and got into programming
for that (most of them end up giving up on game programming for well known
reasons). I think your average person sees CS as something only math/computer
nerds can do and as something that is really hard and math intensive. If they
actually had a gentle introduction they may love it and may even be good at
it. Lets not kid ourselves, most programming isn't something only super
geniuses can do.

~~~
tmzt
Sounds like an easy way for University to use an incentive to encourage more
people into a degree path that might yield dividends for them, and move people
away from majors that don't lead into employment.

------
edtechdev
Here are actual activities people can do online to get exposed to coding:
[http://csedweek.org/learn](http://csedweek.org/learn)

including an activity for people with no programming experience:
[http://learn.code.org/hoc/1](http://learn.code.org/hoc/1)

------
LandoCalrissian
He looks so very tired in that video.

~~~
sliverstorm
Agreed. No matter how effective you think he is, or how much you like his
policies, it seems pretty clear he's under tremendous stress.

~~~
chiph
The job is brutal. Look at photos of Bush Jr. before & after -- same thing.

~~~
dnautics
it's only brutal because those jokers take themselves too seriously. If I were
president, I'd pay myself a minimal salary, go on extended vacation, veto
everything, and the only responsibility I'd take upon myself would be that big
fat red button.

~~~
daigoba66
Ironically it is congress that sets the president's salary. Thus you must get
congress to pass a bill which you then must sign. That's a lot of work!

------
johngalt
In other fields we recognize that there is a bifurcation between the knowledge
required by practitioners of that field and the base level of understanding
from non-practitioners. A 'good driver' isn't expected to know about ignition
timing or the stoichiometric ratios of various fuels. For first aid we ask
people to learn CPR, not to do '1 hour of surgery'. We expect people to know
countries and capitals but not GIS maps. I feel like we haven't drawn the line
between user vs creator as clearly in technology.

It is accurate to say that more computing knowledge is needed in the general
populace. The power of computers/technology is limited by the human operators
in most scenarios. But how do we focus on building better operators? Where is
our line drawn?

~~~
GrinningFool
Learning the technology used every day - more specifically and most
importantly learning _not be afraid to explore_ that technology - can be done
without even touching on programming. It's a lot more akin to learning
critical thinking: do not accept that things must be the way they are because
you have been told it is so (or because these are the default options
presented to you.)

But "learn, explore and become comfortable with technology that runs your
life" is quite a bit different from "learn to code". I guess to an extent the
former qualifies as building better operators - but there seems to be a
negative connotation there that I disagree with.

You can become a better car operator by learning what all those buttons in
your car do. You (and others on the road) benefit from this. As you pointed
out, there's little benefit to learning the technical elements of it - while
they do affect you, you derive no benefit as an operator of a car from
learning them.

"I feel like we haven't drawn the line between user vs creator as clearly in
technology."

I missed this on my first read through, and I think that's a very valid point.
My only objection comes back to the negative connotations of being a 'user'.
It's always of benefit to learn to be a skilled user of anything you use on a
regular basis.

------
quaffapint
There is not a shortage of programmers.

There is a shortage of companies wanting to pay a programmer over 30 a living
wage.

------
larrybolt
I do think it would be a good thing if more people, preferably in management
positions or office-positions would get the chance to learn to code, or at
least an introduction to it.

It would allow them to appreciate the hard work that get's done on the
background, make them think twice before defining deadlines and most
importantly realise some of the work they do on a daily basis could be
automated! In result to that they might at least consider getting in touch
with a programmer and trying to find a way to make theirs own job more
efficient.

But that everyone should go get a degree in CS or everybody should be able to
program is to me, the same thing as saying everybody should be able to cook 3
star restaurant dishes.

------
patmcc
So much work could be saved if most people learned a tiny bit of scripting, or
really even what code is capable of doing. My girlfriend was telling me how
one of the people in her office spent a few days renaming a huge number of
files, so they'd be consistently named. I cringed when I heard that - it was
repetitive, followed a pattern, and could have been done in minutes with a
python or perl or bash script written in an hour or two by someone with a
basic knowledge of code. That's the kind of coding everyone should know - the
same way everyone should be able to add columns of numbers without using their
fingers.

~~~
kamaal
>>ould have been done in minutes with a python or perl or bash script written
in an hour or two by someone with a basic knowledge of code.

The same would be a day worth work in Java.

See the problem there. Its not about learning 'programming'. The scripting guy
just could do it because of the familiarity of tools.

Beyond all if the people have issues identifying problems. Merely teaching
programming isn't going to help.

------
saosebastiao
"Learn Programming...but don't learn Cryptography pretty please..."

------
briandear
I would be happy if just the Obamacare website developers would learn to code.

------
ommunist
We've seen that before when in 90-ies everybody tried to learn some Visual
Basic and later some Java. Maybe I am wrong, but programming require quite a
systematic effort in knowledge acquisition, lots of practice and a good
mentor. I also think community is not a substitute for mentorship, well it is
a superset of it one may say, nevertheless.

When a politician asks everyne to learn how to code, I assume it is already
too late for everyone to do it. There are more smart kids in India with IQ
more than 100 than there are kids in the US in total.

~~~
dinkumthinkum
The programming revolution of the 90s? I think that was just in your head.
Just being honest.

------
patja
I don't get the controversy. I don't see this as being about making everyone
into a professional programmer, no more than having every student take music
class will make them a professional musician. I believe it is more about the
ancillary benefits in opening up new ways of problem solving, and having some
rudimentary awareness of the inner workings of a world that one might
otherwise never have the chance to explore.

Some students will catch the bug and tear off on their own journey of
independent learning and discovery and create great things. But for most it
will just be a new dimension of a full and well-rounded primary education. The
problem is that the current generation of educators and schools are largely
wholly unequipped to do this, so we have to step up and help out.

I ran an after school "Tech Club" for a couple of years at my kids K-8 school.
This year the administration asked me to bring it into the classroom and I am
teaching 100% of the students in grades 6 - 8 basic programming with Scratch.
It is just one 45 minute class per week, with each grade getting the class for
one trimester (12 - 13 weeks). You can't do a whole lot in this time, but you
can definitely do something, a whole lot more than the school was doing with
technology before.

------
heezo
As a black American, I wish that I were suprised at some of the comments in
the video.

~~~
dinkumthinkum
Well I think we're about ready to get some pretty Bell Curve nonsense going
here soon.

Also, you may be interested in comparing the responses here to Obama's video
here and HN responses to similar videos (like the Bill Gates ad).

------
cehlen
I think this is an amusing idea; however the truth is most people are not
meant to be programmers. For those of you in the industry think back to your
first couple of programming classes and the people who could not grasp the
idea of a FOR LOOP. There was a small group of people who could do it and
larger group that just couldn’t. It’s not personal, I was never meant to play
basketball it is what it is.

------
sciguy77
I have to say, coding is definitely not for everyone. A rather specific kind
of person (such as myself) is drawn to program computers. While I enjoy it
most people I know would not. Certainly having the option to take Intro and AP
CS courses (both of these are available at most public high schools) is great,
but "calling on all Americans," to code seems a little excessive.

~~~
11001
HN has this funny attitude: whenever someone is "bad at math", it's the fault
of our education system and the way math is taught in schools, because
everyone is clearly born with good sense of logic, however coding is for some
reason such a different skill, and only a selected few (aka HN readers) can
truly master it.

~~~
sciguy77
I didn't mean to sound elitist, its not about "mastering" coding, the question
is more about whether someone actually wants to code in the first place.

------
analog31
In my view, the impact of the President's message will not be on those of us
who are already teaching our kids programming, but on the kids who live on the
other side of the digital divide, and have nobody around them -- parents and
even teachers -- who are fully aware of what programming consists of. Many
parents think that programming is dangerous.

I agree with the folks who have suggested that something like a semester of C
randomly inserted into the existing curriculum will be a waste. Instead, the
"every American should learn code" message should stimulate debate about what
"code" would actually consist of if applied intelligently to the K-12
curriculum.

How about music class? So much of contemporary music is programmed. Create
music in Scratch.

Replace some obsolete math exercises with explorations using spreadsheets or
computer algebra software.

Let kids use Scratch to write their own data acquisition programs for science
labs, via S4A.

------
bhewes
I call on every American to learn English and possible a second language
first. Then maybe we will have more ideas to code.

------
hga
Hmmm, I wonder what this says about the iOS ecosystem, where programming on
your device is strictly _verboten_ Even former Apple Fellow Alan Kay, chosen
by Steve Jobs way back when, couldn't get a suitable for children version of
Smalltalk approved. The Gambit-C Scheme crew got their's approved, and then
banned.

------
Eyes2design
This is why when the government wants a website done, those Shove ready jobs
are just waiting for us all.

I find this an insult, sure american programmers are far and between but this
is not going to help. I Program but I have work for hours using everything I
can find online. I have gained a DevOps job without a Degree in CS.

------
bonemachine
Woah Cowboy How ken they lernz 2 kode when their aints enuf $$$ to pay
teachers 2 lern themz 2 read n rite????

------
russell
If we define programming as the stuff that we on HN do for a living with C,
Java, JavaScript, and the like, then teaching every American how to code is a
futile goal. Something on the order of half of all CS majors fail the
introductory CS course. There is a really eyeopening paper by Saeed Dehnadi
and Richard Bornat[1] that has a test that can be given BEFORE the course that
demonstrates fairly well who will pass and who will fail. There are 5
fundamental concepts that it tests for

\- assignment

\- statement sequence

\- iteration

\- recursion

\- concurrency although that is not needed for basic literacy

Read it. It's an eye opener.

[1]
[http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf](http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf)
[Jeff Atwood's link in Coding Horror 7/14/06 is broken]

Edited: formatting

------
naunga
Here's my two cents:

We should not be encouraging people to learn to program so much as we should
be encouraging people to learn how to construct an algorithm.

That's the first thing you need to learn. Kind of like learning how to
properly construct a sentence. You need to understand how to express a problem
in a step-wise fashion.

There's a lot of talk in the technology industry about diversity. Adding more
women, etc, but on a whole we need career diversity. Coders, writers, artists,
actors, mathematicians, welders, plumbers, cooks, chemists, managers,
politicians, and so on. Society takes more than just coders. So let's just
encourage kids to get involved in finding a way to contribute that they might
enjoy or at least find interesting.

------
gwu78
"Don't just play on your phone. Program it."

Easier said than done. Not because it's difficult to learn to code. But
because the owner of the phone cannot have uid 0 without "jailbreaking". Nor
can she write an iPhone app without getting "permission" from Apple.

The closed nature of today's "phones" (which are really crippled handheld
computers running UNIX) is the biggest impediment to learning to code and, for
those who already know how, to getting their own code to run.

Give me a phone that lets me use my own bootloader, my own kernel and my own
utilities.

In turn, I'll add value to what the phones provide out of the box and help the
American economy.

------
seanhandley
The main problem I foresee with this is that the American school system is
based on a religious school template whereby the students become very good at
unquestioningly following instructions... and the whole point of coding is to
describe to machines how to do exactly that so we can think about more
interesting things.

I'm keen to see details of how the US government expects the programme to
work. Given their track-record, particularly with the Obamacare site debacle,
my hopes are not high.

Throwing in a compulsory coding course to the curriculum isn't the answer.
Until a decent plan emerges, it's just phony rhetoric.

------
gaplus
Learning anything new is all well and good, but the thing that's actually
valuable to society and "america's future" isn't really more coders, it's
people who are really fantastic at what they do; whatever it may be. I'd
rather someone dedicate their life to becoming the best preserve-maker in the
world than fixing bugs in groupon. The preserve-maker may not reach billions
of people with his/her work, but based on my own observations, I've found that
the relative quality of one's achievements in a field has more leverage than
the scale.

~~~
dinkumthinkum
But you're just saying "be the best you can be rah rah." That's nice but not
very interesting or actionable. Why even bother saying it?

~~~
gaplus
hmm I suppose it seems obvious to some people, but I've met a number of people
trying to become programmers for reasons that won't get them very far. Just my
two cents.

------
zwegner
Ugh, we have enough awful, unmaintainable code to deal with as it is. We
really need less code now, not more.

I'd prefer it if he would call on Americans to learn to think first, or at
least to meditate or something.

------
Uchikoma
Giving some workshops I did with non IT (marketing, middle management, ...)
here at the company, I think a lot can be gained by some 3 hour workshops with
e.g. Scratch/Blockly.

Understanding the breaking down of problems into commands, loops, conditionals
using variables, data structures, functions, about abstracting solutions into
more general solutions, about refactoring, legacy code etc. helps a lot, even
if one is not "a programmer" afterwards.

I can only recommend to everyone doing this at your company.

------
bdcravens
Should be pointed out that Newt Gingrich did a similar spot:

[https://www.youtube.com/watch?v=9elnB2wMEP0](https://www.youtube.com/watch?v=9elnB2wMEP0)

------
marincounty
I think it should be taught in school, but it shouldn't be forced on students;
sorry, but some of your programming books are 600 pages of absolute boredom.
I've wondered for years why computer programming books are so terribly
written. It's not a crime to include diagrams, and highlight the really
important concepts. I would like to see a Hacakathon for writers of
programming books. The shortest book that got across the material would Win!

------
swayvil
While we're at it we can have our brains extracted and placed in jars. Then we
can write web pages, surf and play videogames forever. Solipsistic Nation!

------
ConceptJunkie
"President Obama calls on every American to learn code"

We tried that already. It was called Visual Basic. It's arguable how much
value was created.

------
arxpoetica
So the obligatory joke would be, he's asking you to learn to code so you can
fix his healthcare website. (duh, dum, dum)

------
MichaelMoser123
i think he is saying the right things! I think there is a problem that many
kids like to play games, but that they are not quite interested to look at
what is going on behind the scenes (does that sentence make me a grumpy old
fart?)

Part of the problem is that modern systems and also modern programming
language are very powerful, have lots of features, but therefore are hard to
learn. One of my pet projects is a programming language for learning how to
program [http://mosermichael.github.io/cstuff/all/pooh-
lan/2012/12/11...](http://mosermichael.github.io/cstuff/all/pooh-
lan/2012/12/11/pooh-intro.html) ; Actually I had the same problem, I am adding
and adding features to the language, now that makes its less suitable for the
original task. I guess finding the right balance is not an easy task.

Interesting, does Obama know how to code?

------
krrishd
I wrote an article on this subject ([http://krrishd.github.io/blog/post/to-
code-or-not-to-code](http://krrishd.github.io/blog/post/to-code-or-not-to-
code)), but I think it isn't necessary to learn all of computer science, but
only relevant scripting and design skills.

------
dman
I wish algorithms were emphasized rather than code. Programming languages and
frameworks are too much in flux right now. Education curriculum dont evolve
very quickly so they would be baking in programming as it exists currently and
recreate scenarios like Pascal being taught long after it was relevant in the
mainstream.

------
peterarmstrong
For kids (not just American kids) between 9 and 12 I'm working on a book that
hopefully can help with that:

[https://leanpub.com/programmingforkids](https://leanpub.com/programmingforkids)

If anyone here wants a review copy, either reply here or I'm @peterarmstrong
on Twitter...

------
pvdm
No. Shut down NSA, then we'll talk.

------
ender89
Excuse me mister president, but I _was_ born a computer scientist. I have the
pictures to prove it.

------
simlevesque
Do you really need to know some science to code ? From my perspective it is
not required.

~~~
humanrebar
Electrical engineering, computer engineering, and computer science are
related.

But, no, you don't need to know much about science to make phone apps or
webpages. Studying a foreign language or in-depth grammar would probably be
just as useful for those industries.

That being said, children going into software would benefit from exercising
the parts of their brains responsible for patience, tenacity, intellect,
technical reasoning, and problem solving.

------
prezjordan
I've created a collection on Medium if anyone's interested in sharing their
personal stories on learn how to code :)

[https://medium.com/how-i-learned-to-code](https://medium.com/how-i-learned-
to-code)

------
vincie
Lets start with Cryptography 101

------
mmaunder
Talk about a passionless plea. He should be more passionate and the message
should be education in general i.e. inclusive of math, literacy, etc.

Anyone notice how tired he looks? His eyes are swollen and red. Rough job.

~~~
th3byrdm4n
It's shallow but that's the first thing I noticed, he looks sick / has
allergies, or possibly he is getting over something quite emotional?

In other news, I wonder how much coding he does?

------
NAFV_P
?gen xpnyo n aenry bg anpverzN lerir tavxfn nznoB fv luj bF .gnug gn rab xpnyo
n gho ,gen an fv tavzznetbec gnug rirvyro ,bbg V . _gen an fv tavzznetbec_
gnug tavlnf fn qrgbhd arro argsb fnu ughaX

~~~
wizzard
!upgvj rug aehO

~~~
NAFV_P
.fgnbtrcnpf rqnz argsb ren lrug abvffrpre rug bg rhQ .tavaeho upgvj rfvgpnec
yyvgf lrug qbbu lz qahbE

------
idoescompooters
That's one of the very few messages Obama has made that I agree with.

------
pedrogrande
I recently spoke at Ignite Sydney and spoke about teaching the world to code
:)

[https://www.youtube.com/watch?v=4EYx5eEqVBE](https://www.youtube.com/watch?v=4EYx5eEqVBE)

------
agumonkey
Just focus on recursive functions all along primary and secondary school, with
a more regular syntax (see G. Sussman on mathematics), and you'll get free
programmers.

------
foxhop
I think this message is not targeted at all Americans, I think this message is
calling on the younger generations to get back into the hacker spirit.

------
pjbrunet
Why can't Whitehouse.gov host its own videos using HTML5? That would be more
fair to Google's competition.

------
TomGullen
"Don't just buy a new video game. Make one!"

This is awesome news for our startup! Should bring in more traffic :)

------
andrewcooke
can obama code?

------
everettForth
Does President Obama know how to code?

~~~
xexers
Nope:

[http://www.cbsnews.com/news/obama-id-fix-healthcaregov-
mysel...](http://www.cbsnews.com/news/obama-id-fix-healthcaregov-myself-but-i-
dont-write-code/)

------
dsego
Everyone should learn how to solder before learning how to code. Because
experience. Hurr durr.

------
mnml_
I'm not sure the world will be a better place when 313m Americans will be PHP
EXPERTS

------
clonearmy
Well, then, don't just pass a healthcare law, make a website for it :)

------
fleitz
This could be America's great leap forward into the 21st century.

~~~
VLM
I'd rather have a 20th century healthcare system, or a 20th century prison
system, or a 20ths century set of .gov regulations, or a 20th century
separation of church and state, or a 20th century social welfare system or ...

Don't get me wrong, I totally look forward to a 23rd century anti-matter power
plant or whatever, but there's some huge issues to be solved first. "learn to
code, but god help you if you get sick, because we won't" or "learn to code,
in a for profit prison, because you smoked the wrong plant". "Or learn to
code, quickly, before you get cancer, because we're business friendly now so
we don't enforce environmental and food safety laws anymore"

------
gum_ina_package
Maybe if everyone knew how to code, we could fix healthcare.gov.

~~~
humanrebar
I am under the impression that this was a project management failure, not a
technical failure.

~~~
hga
You are correct. Political and bureaucratic types with no experience in
building big systems called the shots until the 3rd week or so of October, and
were making major change orders in August, and other changes _in the week
before launch_. And no single manager had it as his personal, full time
responsibility (although in fairness, it just occurred to me that anyone savvy
in HHS would have avoided such a position like the plague). The infrastructure
was grossly under-provisioned, and when the general contractor/integrator
including integration testing, HHS's CMS (now "fired" and replaced by the
private QSSI) finally did integration testing in the couple of weeks before
launch it failed hard. But somehow, in best waterfall in practice tradition,
that had no effect on the decision to launch.

As I like to say, no Google/Facebook/Lisper dream team could have possibly
succeeded given the top down constraints. I can't even see a lot of the
contractors putting in their best effort when they had to throw away so much
work so often....

------
bayesianhorse
No code left behind...

------
tlongren
This should end well.

~~~
atulnayyar
Thank's to web world we have open Source Applications where we can master
things around us !!!

------
codeulike
Is this so they can help fix his website?

------
EGreg
I think this video was aimed at kids.

------
kevando
Am I crazy or does he look terrible. His eyes are all red like he was just
crying.

~~~
dinkumthinkum
What does this add?

~~~
kevando
It's an observation. Perhaps someone else who watched this video has some
information about something that happened immediately prior. I could have been
more explicit in my request, you're right.

------
pearjuice
>Starring Bill Gates, Mark Zuckerberg, will.i.am, Chris Bosh, Jack Dorsey,
Tony Hsieh, Drew Houston, Gabe Newell, Ruchi Sanghvi, Elena Silenok, Vanessa
Hurst, and Hadi Partovi. Directed by Lesley Chilcott, executive producers Hadi
and Ali Partovi.

>Code.org owes special thanks to all the cast and the film crew, and also
Microsoft, Google/YouTube, Facebook, Amazon, and Twitter for helping us spread
the word

What the fuck is this shit? They really pumped billions in marketing!? Is
America really that desperate to destroy the only real market it has left? You
guys might applaud this but the only thing which this will lead to is
unqualified people thinking they know how to program.

The job market will get saturated with mediocre programmers and those who
really know their stuff will be too expensive to hire or get lost in the
noise. We will see an increase of shit code in production. People think they
can have a shot at the field which was dominated by us, the outcasts, for
years.

This worries me, brothers, this worries me. If you think this is anything
good, look at what happened with finances. It completely fell under the
massive appeal of the mainstream crowd who thought they could become a manger
and earn a quick buck. Programming is a serious art, skill and dedication you
have to live up to.

It shouldn't be - and isn't - for everyone.

~~~
brandonbloom
> What the fuck is this shit? They really pumped billions in marketing!?

I work for Code.org. "Billions" couldn't be any further from the truth. We
operate on a shoestring. Everybody in these videos participated because they
care about education, not because we paid them.

~~~
pearjuice
Yes, you work for Code.org but I doubt if the president is involved you get
the fine numbers.

~~~
brandonbloom
Doubt whatever you want. I'm telling you a fact: Nobody bribed anybody in
either political party to participate in our campaign in any way. Code.org
runs with a tiny team and an astonishingly small budget. It's the easiest
lobbying job anybody has ever had to do ever.

"Hey, computers are the future."

"Yeah, you're right. And my constitutes know that too!"

"Great, do you want to be in a video that will give you exposure for
supporting our great cause?"

"Sure!"

------
UbuntuJon
I freakin' love Obama.

------
xname
If he really meant it, if he really cares about education of young Americans,
he should try to fight with the sh*t teacher unions. Oh no, that's politics,
don't go there. So just let politicians say nice things. Don't let them talk
about their dirty politics! Yes, just say nice things! No politics!

Nice things like what? When so many US students cannot even do basic math,
when third graders are still struggling with addition and subtraction,
encourage all of them to learn code. Yes. encouraging is nice! all (meaning
equality and justice) is nice! Always!

Fight teacher union is dirty politics (how about take donation from teacher
union? shut up!).

Lets just talk about nice things, bro! Forget dirty politics!

~~~
wavefunction
If your kid can't do math, that's YOUR fault, not the teacher's.

------
thenerdfiles
He just divided America... How will all the Americans respond who thought
_guns_ were the answer around and after WWII?

He doesn't _say_ "every American" — what the hell ? He specifically says
"young Americans like you".

And that _CERTAINLY_ does _NOT_ warrant the question "should everyone know how
to code"?

If the youth learns to code, the next generation will benefit from this,
likely not needing to touch code at all. There's no such thing as "every
American". That is totally, utterly, absolutely, invariably _not the point_.
He's talking about the _youth_ — he's calling a _DRAFT_.

------
amerika_blog
This sounds like politics to me more than anything else.

Having everyone learn to code is like having everyone be a paralegal.

Most will be bad at it. Neither is particularly difficult, but specialization
is a matter of personality more than anything else.

