I can’t imagine how hard it is to learn to program if you don’t instinctively know how. Yet I know it is that hard for many people. Some succeed in learning, some don’t. Those who do still have big differences in ability, and ability at a young age seems to be a pretty good predictor of lifetime ability.
I realize I must have learned the basics at some point, although I don’t remember it. And I remember learning many more advanced concepts during the many years since. But for both the basics and the advanced subjects, I never experienced anything I can compare to what I’d call “learning” in other subjects I studied.
When programming, if I see/read something new, I may need some time (seconds or hours) to understand it, then once I do, I can use it. It is cognitively very similar to seeing a new room for the first time. It’s novel, but I understand it intuitively and in most cases quickly.
When I studied e.g. biology or math at university, I had to deliberately memorize, to solve exercises before understanding the “real thing”, to accept that some things I could describe I couldn’t duplicate by building them from scratch no matter how much time I had and what materials and tools. This never happened to me in programming. I may not fully understand the domain problem that the program is manipulating. But I always understand the program itself.
And yet I’ve seen people struggle to understand the most elementary concepts of programming, like, say, distinguishing between names and values. I’ve had to work with some pretty poor programmers, and had the official job of on-the-job mentoring newbies on two occasions. I know it can be very difficult to teach effectively, it can be very difficult to learn.
Given that I encountered a heavily preselected set of people, who were trying to make programming their main profession, it’s easy for me to believe that—at the extreme—for many people elementary programming is impossible to learn, period. And the same should apply to math and any other “abstract” subject for which biologically normal people don’t have dedicated thinking modules in their brains.
I can’t imagine how hard it is to learn to program if you don’t instinctively know how. Yet I know it is that hard for many people. Some succeed in learning, some don’t. Those who do still have big differences in ability, and ability at a young age seems to be a pretty good predictor of lifetime ability.
I realize I must have learned the basics at some point, although I don’t remember it. And I remember learning many more advanced concepts during the many years since. But for both the basics and the advanced subjects, I never experienced anything I can compare to what I’d call “learning” in other subjects I studied.
When programming, if I see/read something new, I may need some time (seconds or hours) to understand it, then once I do, I can use it. It is cognitively very similar to seeing a new room for the first time. It’s novel, but I understand it intuitively and in most cases quickly.
When I studied e.g. biology or math at university, I had to deliberately memorize, to solve exercises before understanding the “real thing”, to accept that some things I could describe I couldn’t duplicate by building them from scratch no matter how much time I had and what materials and tools. This never happened to me in programming. I may not fully understand the domain problem that the program is manipulating. But I always understand the program itself.
And yet I’ve seen people struggle to understand the most elementary concepts of programming, like, say, distinguishing between names and values. I’ve had to work with some pretty poor programmers, and had the official job of on-the-job mentoring newbies on two occasions. I know it can be very difficult to teach effectively, it can be very difficult to learn.
Given that I encountered a heavily preselected set of people, who were trying to make programming their main profession, it’s easy for me to believe that—at the extreme—for many people elementary programming is impossible to learn, period. And the same should apply to math and any other “abstract” subject for which biologically normal people don’t have dedicated thinking modules in their brains.