|
sorry for the late reply, i somehow didnt see this. "I think that argument at best supports the claim that there might be some things that not (almost) everyone should know/should be able to do, but certainly not that programming specifically is amongst those" true, good point. "If not, what distinguishes programming from those that it should not be a skill that's taught to everyone?" reading/writing are useful as they are important for conveying information. world news, stop signs, history, etc. Programming is useful, but I wouldnt call it a fundamental the same way reading, writing, math and history are. when people cant read or write, they can cause traffic accidents. They can vote foolishly(if they can find the polling place). People who cant do math will not understand their personal finances. People who dont know history will repeat it. I dont see society falling apart because people can't make their own apps. Now for what its worth, I think it might be worthwhile to teach people some basic shell or python scripting, as that could make their jobs more pleasant by reducing the repetitive, boring work. But would we add a year of mandatory schooling? or would we cut something else? Because I do think those other subjects are necessary. I just dont see why everyone should be a programmer, and I dont think I've ever heard a good reason, other than asserting that it's the future, and there is no other way. |
But wouldn't people have made the same claim before literacy and math skills were (almost) universal? And wouldn't they actually have been right? In the world as it was, you obviously could survive without those skills. The question is: (1) how useful will it be in the future, and, even more importantly (2) which opportunities could humanity be missing if programming doesn't become a universal skill?
> Now for what its worth, I think it might be worthwhile to teach people some basic shell or python scripting, as that could make their jobs more pleasant by reducing the repetitive, boring work. But would we add a year of mandatory schooling? or would we cut something else? Because I do think those other subjects are necessary.
Well, I think another aspect is much more important: People should learn enough programming to be able to understand how the world works. Certainly, the goal should not be to enable everyone to build highly-reliable highly-scalable high-performance distributed systems, or whatever. Just as the goal of language and math classes is not to produce authors and mathematicians.
Now, I don't think that being able to create your own "Apps" would be out of the question. The only reason that's somewhat difficult nowadays is because the platforms and SDKs suck, not that it's somehow fundamentally a complex problem.
But overall, I think the goal should be to (1) give people some idea of what happens with their data behind the touch screen, so they can understand the power structures that result from the software's inner working (because they otherwise will repeat history because they don't notice how those new-fangled systems encode power structures that previously were determined to be dangerous for a society), and make informed decisions on how to use information technology and (2) give them some idea of how to approach problems with mechanical solutions and possibly encode these solutions as software. With the latter, the point isn't even necessarily that they should be able to implement it themselves (though that certainly should be an option for sufficiently easy tasks), but that they have an idea that software could even be a solution, maybe how they could explain their problem to someone more specialized.
In any case, the idea would not be to teach the details of, say, the Android API. The idea would be to teach general principles of automatic information processing.
As for other subjects to throw out? Sure, throw out woodworking and electronics classes (where that hasn't happened yet), but replace them with computer science/programming rather than with Microsoft product endorsement classes.