4 ms·
I should probably disagree. The point of code being a life skill is not that we want more people to write code on a day-to-day basis. You should think about tea
by drostie 14y ago
I should probably disagree. The point of code being a life skill is not that we want more people to write code on a day-to-day basis. You should think about teaching kids to paint, rather than teaching them to read. It's not because we want more painters or because painting makes you better at the job you do, but painting helps you to see things from a different (artistic) perspective, to appreciate certain joys and certain other techniques.
Sussman has gone on record with a talk titled, "Why Programming is a Good Medium For Expressing Poorly Understood and Sloppily Formulated Ideas." That's probably an everyday use of programming which I've not seen, and it's part of what people learn as one of these "background skills" in college: how to think of things precisely.
I still get a lot of people who are shocked when I teach them relativity. You mean it's not a bunch of mysticism about "mass is squared light energy"? You mean you can prove that this Lorentz transformation doesn't lead to paradoxes? You mean you can derive it with high-school geometry plus some simple axioms that I can clearly understand? The only part which is hard to get across is the causal structure of "light cones", because people don't think in intersecting cones. (I have had some success with calling them "expanding light bubbles," with some reference to supernova explosions.)
Coming back to clarity, and finding it, programming is a good way to pick up that habit, even if you don't code on a day-to-day basis.
There is of course one well-known disadvantage which goes unmentioned in this Coding Horror post: coders are disproportionately more likely to think of legal systems as made of immutable and strict laws. The idea that a judge is supposed to, y'know, judge the human costs of competing legal priorities, and make a decision which is both fair and in keeping with the laws as written -- this discretion seems to be missing. You see this as well with how coders approach pharmacists: it's as if pharmacy was no longer a medical discipline and was somehow relegated to counting pills. No, that's what we code the robots for. Stop equating people with robots.
But if we remain sensitive to the humanity of others, then being able to code probably functions to a net benefit, much like Jeff's example of plumbing does. I mean, there are still occasions where you need a professional, but everyone should have disassembled the pipes to their sink at some point in their life, just for the experience.