4 ms·
You have a point, but learning to program is hard because it requires mastery of several domains: abstract thinking, mathematical concepts, programming idioms a
by 01100011 6y ago
You have a point, but learning to program is hard because it requires mastery of several domains: abstract thinking, mathematical concepts, programming idioms and syntax, debugging and problem analysis, problem decomposition, etc.
I think the author presented a very insightful take on teaching some of the important aspects of programming.
- deleted 6y ago[deleted]
- analog31 6y agoI think programming is actually hard to learn, even at a level where those domains don't really come into play. More than half of the kids in my BASIC class in 1980 never grasped even the most primitive programs. The kids who "got" it, may have been good at the things you mention, in terms of potential, even if they had never actually done any of them by the time they were in high school. And I think there are good programmers who are lacking in those domains, notably math beyond the intro level, where problem solving involves recognizing the "form" of a problem, and remembering the algorithm for solving it. The guides I've read on making programs more understandable recommend eliminating abstraction, for instance by making sure that the names of things are concrete and self explanatory. So I actually think it's still a puzzle why programming is hard, or easy. The paradox is that programming is super easy, but only for a randomly selected group of people, otherwise it's prohibitive. Then again, if you can think of a subject, like programming, where we've tried a new way to teach it in every generation, with no sign of widespread success, it's math.