We can teach every child to program computers in school, but we don't teach every child most other engineering fields in school. So why would we teach software development?<p>Besides, the only way you're going to get anybody but the tinkerers to be interested in modifying the parameters of the thrust calculation in their Spacewar game (I recall how in school we modified the trajectory of the bananas in QBASIC Nibbles) is to not give them anything else interesting on the device that already easily does something interesting and fun... I also recall that there wasn't much else to do on the 386s in my school other than Minesweeper or setting up new groups in Program Manager. Now we've got billions of web pages and thousands of free apps.<p>Necessity is the mother of invention -- except for when it comes to tinkerers. And I'm super thankful for tinkerers: they push us forward in software just as they do in other fields. But in a world where devices already do way more than their users can imagine (most people very much do NOT have good ideas for how software could be better or do something new) and offer a ton of other easily accessible options for activity, the vast majority of people just aren't a bit interested in tinkering.