
Kids Should Know How to Code - rb808
https://www.bloomberg.com/view/articles/2017-08-11/kids-should-know-how-to-code
======
pfranz
There has to be previous discussions on HN about this. Does anyone have a
link?

I'm probably going against the grain here, but do we need to teach kids to
code? Heck, does Tim Cook know how to code?

It's been 20+ years now where kids have had access to computers in schools. In
the late 90's they taught typing, Word, Excel, and Power Point.* Looking at
most of my friends from high school who aren't in tech, that's all they use--
if that. I was a bit surprised when my brother in law mentioned my nephews,
who are about to go into high school, had never used a desktop computer. I was
a bit surprised at first, but don't think it'll be a problem for them and it's
probably common.

I _think_ the expectation 25 years ago is that the average workhorse
applications would be way more scriptable. So "a little" computer science
could be done to automate repetitive things and lead to more computer science.
I hear about Excel wizards and I've seen managers who are fantastic with
pulling data into Power Point, but they seem very specialized to their
profession. I've never had to use VBA inside of a Microsoft app. Every time I
try and use AppleScript I have to dive in way more than the average person
would bother (and I don't see options like that for Windows). Outside of work
I might write a small Python/Shell script to scrape some web pages, or sort
some data. I just can't see someone who had a class in high school doing
anything useful.

I do think it's good to get exposure to computer basics and even programming
if they're interested. Maybe, like the article says, it's comparable to higher
level math and science classes.

* I thought it was a bit silly they were teaching Microsoft programs because who knows what would be around 5 years from then--I was wrong about that

~~~
mjw1007
There's a chicken-and-egg problem with scripting support in desktop
applications: if more of the customers were comfortable writing small
programs, the companies creating them would see more value in providing decent
scripting interfaces.

For example the Adobe applications like Photoshop and Illustrator have
obviously had a fair amount of effort put into the scripting interfaces at
some point, but it's fallen short.

They've done the 90% of the work which is embedding a sort-of-javascript
engine and exposing the applications' functionality to it; they just need to
do the other 90% to make it practical to maintain and share scripts, and glue
them up to the UI, and so on.

~~~
pfranz
I feel like my industry might be a window to that. I work in visual effects.
Almost all of our applications (Maya, Nuke, Houdini) have a built-in Python
interpreter and every facility over probably 20 people use it extensively all
the way up to the Pixars, Wetas, and ILMs. Often the application UI is written
in Python and could be fully customized, including adding/modifying menus,
they have a console, and a shelf (for small, clickable scripts). They even
have a cool think where you can see it print out the commands that get
executed when you click buttons in the UI. I've also been responsible for
scripting in Photoshop and it's miserable (not just because of Javascript).

I have junior artists ask if they should learn Python/programming or focus on
their discipline and my recommendation is, "if you think scripting is going to
be one of your primary responsibilities, learn it. If not, focus on getting
better at your discipline." My experience in working with artists is that they
have no idea what goes on under the hood. The amount of effort needed to even
write simple scripts is enormous. There are artists who can crack open a
console and write or modify a simple script, but more often than not they came
from a solid technical background it's just no longer their day-to-day job.

Even in those programs, there's not just the hurdle of knowing what a
variable, loop, or string is, but looking up the API for the application, how
things are structured, and troubleshooting.

I think Excel is the most ideal example you'll ever get. The feedback loop is
tight and there's a gradual slope to some insane programming. While there are
a lot of amazing Excel gurus, the average person using Excel may not even need
to know what a formula is. Their job is filling out and reading boxes that
were put together by a manager. I don't see this changing in 20 years.

------
EliRivers
Knowing how to code seems like maybe a bit too far for most people.

I think knowing how to use the kind of computers they're going to encounter
would be most of the way there.

Simple things; the concept of files and directories, what the typical OS
desktop window managers are actually presenting and how to work with them.
What the command line is and how to use it; how to search for files, how to
move files, grepping and viewing and so forth. How simple configurations work,
maybe even the very basics of automating some tasks using very simple scripts
(edging just barely into programming there).

I think people could get much, much further if they simply knew how to use
typical computer systems they will be working with (which for most people
basically means Windows), rather than just knew how to use some of the more
common applications. The majority of people using computers just need to know
how to use the computer, and can get a very long way before they need to write
any code themselves if they can get some understanding and step outside the
bubble of Microsoft Word or whatever they spend most time in.

------
heisenbit
I'm a positive guy and more is more...

Nope, for one this is a zero sum game and making coding a priority means other
things have less budget - not money that may or may not be found but simply
time of the kid. Coding is time intensive so where do we take that time away?
Math? Reading? Writing? Kids struggling often with the basics...

And is there really such a huge need for coders? Considering the retiring
baby-boomers a much stronger argument could be made for nurses. And unlike
nursing coding can be off-shored...

It would make sense make studies and plans how do it effectively before cargo
cult coding school on primary level just after that fad fizzled out.

------
kwhitefoot
No.

Kids, and computer programmers, should be taught how to think and analyse.

Coding is what comes after analysis.

~~~
danso
But coding, taught in tandem, can facilitate and reinforce analytical
thinking.

~~~
kwhitefoot
So can literary criticism.

------
chobytes
100% agree, programming is a very powerful and practical skill for just about
everyone in modern society.

------
sn9
For example of how children can be taught to program at a surprisingly high
level with a paucity of resources, see this blog post on CS in Vietnam:
[https://neil.fraser.name/news/2013/03/16/](https://neil.fraser.name/news/2013/03/16/)

People need to raise their expectations of what children are capable of when
given the right resources and environment.

------
GhostVII
The question is, what should be sacrificed in order to teach kids to code?
They have a limited amount of time at school, so some other subject must be
reduced significantly, to allow for enough time to actually teach them
anything useful.

------
cyanexttuesday
Sure but I think they should also be taught practical things as well like
driving, taxes, light house maintenance, and other skills most of need for
everyday life over abstract math and social science.

I'm a big fan of the Japanese model.

