I assume PG meant that every kid should learn how to code like every kid should learn how to write, not that every kid should become a professional programmer or writer.
Even then I don't really see the point. If you want to teach kids problem solving skills, logic, breaking down a problem, etc. then that makes much more sense as it is applicable in many areas of life but spending an hour a week for several months teaching a kid how to make a little game in Python isn't really going to benefit them at all in the long run in my opinion.
>If you want to teach kids problem solving skills, logic, breaking down a problem, etc. then that makes much more sense as it is applicable in many areas of life but spending an hour a week for several months teaching a kid how to make a little game in Python isn't really going to benefit them at all in the long run in my opinion.
I'm willing to bet it will do more good for 90% of them than learning about Chemical Bonds, Hooke's law, solving quadratic equations, enumerating mass movement processes in geography, memorizing historic time periods, reading Dostoevsky/Kafka and whatever other nonsense we were supposed to learn during high-school education that I can guarantee you 90% of my peers (myself included) couldn't answer even at a basic level even if they passed an exam on it at some point with great scores.
Almost every office job I can think of can benefit from familiarity with programming concepts - not even knowledge - just a basic familiarity - enough so you can reason trough a simple SQL query or write a non trivial excel formula.
as I understand you, you think learning a programming language will do more good for 90% of students than being exposed to chemistry, physics, algebra, history, literature, and whatever other nonesense, which I take you to mean other things commonly studied in high school like art, psychology, a foreign language, economics, etc.
where, may I ask, did you ever hear about Hooke's law, chemical bonds, quadratics or Kakfa? You're reference to these things, in the hopes they'd support your rather silly claim, shows that a multi-faceted education is a good thing. If you weren't the recipient of such an education, you couldn't prove your point.
problem solving, logic, etc can be taught outside of programming. I was taught first order logic through a philosophy course. it seems like you think programming can teach you all the important forms of reasoning.
>If you weren't the recipient of such an education, you couldn't prove your point.
Or I could have just googled "spring physics" as that's one of the few things I vaguely remember from highschool, named Kafka because that's one of the only two books I've actually read before deciding literature is boring/waste of time, chemical bonds - the same thing as "spring physics" and quadratics I actually needed in my day job which is why I said 90% - this kind of knowledge can be easily acquired if you need it.
Majority of that "multi-faceted" 4 year curriculum ended up being a waste of time, and ironically I am probably in the top % of my peers in the amount of knowledge I retained.
On the other hand basic programming is about as enabling as knowing how to do basic probability calculations or writing in formal tone. I never argued about first order logic or learning reasoning so I don't know why you're bringing that argument up - I said that basic programming lets you do stuff that's useful in majority of office work - it helps analyze/transform/collect data and interact with software in a more productive manner. You don't even need to learn programming just going trough the process should give you some insight so when you encounter a problem you can know what to search for and go trough the motions to use an existing solution (eg. knowing how to run a script you downloaded because you know what a script is and what it's supposed to do, or knowing how to modify some formula/query even if you couldn't write it from scratch)
Don't be, I learned trough being pushed in to art classes from young age that most of "high culture" boils down to pretentious people trying to show how superior they are to uneducated plebeians.
>can reason trough a simple SQL query or write a non trivial excel formula
I can't do that.
I have written few very basic python/java programs (maybe 200 lines max, very poor irc-bot was my triumph). And at the office I'm the local computer guru. "Let me show you how you can search a string in excel. Note that big and small letters aren't always the same thing." I shit you not.
I think over-learning this stuff really doesn't hurt. Maybe people would grasp what is easy to program and what is difficult. These days you sometimes run into attitudes like "we could ask this SQL data as excel chart, but it's probably ten thousand dollar coding project. So we don't even ask."
If you know enough programming to write a IRC bot I think you can.
I'm sure you'd figure out how to get data out of some Access like tool - eg. ERP system with tool to build custom query/reports, and I doubt you would have a hard time writing excel formulas with conditions and such.
Seeing how you used python if you found a script online that say converted some files you would know how to run that.
I'm not saying everyone needs to be a programmer but knowing the basics actually enables you to use computers much more efficiently and considering that computers are used literally everywhere nowdays it translates to productivity and real world problem solving.
I have to admit that so far I have been completely unable to use my coding skills for anything practical. There would have been a situation where HTML chart had to be converted to excel chart. It was way too corrupted to automate in any meaningful way.
But coding gives me perspective. If somebody tries to sell software at my job, I get to interview them. Nobody else there is quite as good at spotting computer related bullshit.
You don't see the point in teaching kids the fundamentals of how every machine in their life works?
Media and politicians right now are abusing the fact that a large amount of the population is tech-illiterate. People can't comment on issues that affect their lives in major, invisible ways because they don't know the implication of, say for example, banning encryption (cf. uk politics currently).
Learning an ALGOL-like notation doesn't magically make you competent to speak of cryptography. In fact, it almost by definition does not teach you the fundamentals.
There's no reason to believe programming classes will be at all useful for anything, other than to impart false knowledge.
That is the point: to teach problem solving skills. Programming practice buttresses mental modeling techniques and helps one imagine realistic solutions to technical problems.
There is another goal though, and it mimics writing. If only the 'elite' know how to write, then history will be written by the powerful. If everyone knows how to program, this increasingly popular communication medium will be less under the control of a biased few.
perhaps it will shape how they see programming in general. I would rather have a manager that had a reasonable knowledge of how difficult programming is so that reasonable expectations can be made about schedule and budget.
> I would rather have a manager that had a reasonable knowledge of how difficult programming is so that reasonable expectations can be made about schedule and budget.
True. But the trouble with programming is that once you have the basic skills, you start thinking that anything is possible. Yet, the real problems start knocking on your door when you want to build large real-life long-lived systems with changing requirements.
Take for instance the issue of "technical debt" or "code rot". Someone who has had just a little exposure to programming might say that those issues don't exist (how could code "rot"?), whereas a manager with no programming experience will more easily accept them as part of life.