Hacker News new | ask | show | jobs
by esmooov 5141 days ago
I like this point. It is an important distinction and a good comparison to a related area, physics. Two thoughts, though, that I'd like to hear your thoughts on:

1. Don't we all learn physics? At least basically in school we learn about inertia and atoms and velocity. Sure we don't learn the hard stuff and our understanding is woefully incomplete. But the analogy would be "the physics we learn in school" and "things like conditionals, sets, graphs, types". 2. The utility curve of physics is a little different than that of programming. Both contextualize the world and give you richer understandings of it in a similar fashion. However, physics stops solving everyday problems sooner than programming does. I have never whipped out alternative spacetime topologies to solve an everyday problem. I have written tons of bots and things to automate my life.

Dunno, just some thoughts.

2 comments

Fair points. I agree on the first (basic programming courses are now being offered by some schools, but they're not mandatory and far from universal), however I'm a little more hesitant on the second. Knowledge of physics is extremely important to solving basic problems you run into everyday, I just think it's so ingrained that most people don't think about it. Home projects like building a deck or wall mounting a TV for instance are examples of things that require basic understanding of physical laws in order to complete successfully.

I think your first points kind of undercuts your second in that we simply don't think about how physics helps us with our everyday problems since the basics have been ingrained since childhood. I agree that basic computer architecture/programming should be taught in grade school and will go further and say that if it was, it's utility would also fade into the background as we end up applying those childhood lessons unconsciously in our every day life.

You also end up getting an intuitive understanding of basic physics by doing everyday things like throwing a ball or riding a bicycle.
Right, and this is a barrier to learning digital domains. There is no physicalization of many digital ideas but, precisely by being digital, they do not map onto physical things. I can't run into a lambda on the street or have to fix a leaky loop in my roof. Sure, everyday things touch code but there's a reason why our instinct is to "blow on the cartridge" and not "fire up the debugger"