What's the goal of teaching kids how to code?
Obviously teaching them anything in primary/secondary school isn't for a career, so why do those who say "all kids should learn this" say it?
Is it to understand how computers work? If they taught assembly, or even C, I could see this happening but they aren't going to learn anything about how computers work if you teach them a modern language like Java or Swift.
Is it to make them more computer literate? I don't think that's a concern with kids today, they are exposed to computers practically from birth, and are probably on average more computer literate than the adults teaching their classes in school.
Is it to make them more savvy about computers, the internet, etc. i.e. so they understand why they shouldn't give out their personal information freely, be careful about what software/apps they install, who they converse with via email, text or social networking? Those are laudable goals, but they'll hardly learn that that by coding (but this is what we should be teaching them in school, IMHO, because most of their parents don't understand these things well enough themselves to be capable of teaching it)
Is there a goal I'm missing? Teaching kids how to a code is like teaching kids how to change the tires and oil in a car. Is that useful to know? Sure. Is that the best use of their precious time as a student? Hardly.
I'm sure I'll be lambasted on the Reg for suggesting such a thing, but I think it is ridiculous to teach kids coding. Sure, offer it as an elective in secondary schools, just like you might offer woodshop, cooking, and other classes that kids can take if they're interested. But it isn't something that is useful to teach to every kid in the way that teaching them math or science is.
The reason it gets taught is because parents who are not really tech literate want their kids to "learn computers" and want a mandatory class or two they wished they had when they were kids. The technically literate (geeks) often remember learning how to program as one of the first things they did when they learned about computers, and think that's how it should work for everyone.