Besides, have you tried to learn a new natural language in adulthood? A bootcamp won’t get you far. And natural languages are really forgiving in comparison because you’re communicating with a human-level intelligence that’s used to inferring meaning from low-bandwidth ambiguous datastream.
Yes, most definitely.
Is it reasonable to assume some people will land on the far lefthand side of certain bell-curve-fitting measurables, or unmeasurables, that lends them to being not particularly well suited for certain kinds of activities?
As long as people can practically attract a mate while lacking this sort of abstract reasoning ability, the majority of the population won't have it.
I've read that people tend to be intimately attracted to people of roughly the same intelligence and socioeconomic background, for whatever definition of intelligence was used.
Having said that, some people do turn out to become engineers fabricators artists and build amazing things. You're probably right though, the majority of the population probably don't have it.
Ok - maybe 'learning to write a few lines of code' - i.e. basic algorithms, should be 'no harder than reading or writing' ... or using Excel ...
But writing software, on the whole is a fairly intellectual exercise. It requires legit curiosity, intelligence, conscientiousness, etc..
"Code is a way to express solution to the problem which a computer can execute."
No, only in it's rudimentary form.
If every program was only 20 lines of code, I would agree fully, but since that's not the case, I don't agree at all.
Despite this, a lot of people just don't get math. Being able to go from an abstract problem to a concrete solution isn't just "write code until it works".
Writing a program is like a very detailed story that has to hang together. There can't be any loose ends in the plot or surprising twists that make no logical sense.
More than requiring language, programming requires thought.
The faculty of language doesn't confirm thought.
Those lose ends are called bugs and they often appear in the code. Coding a collaborative task in most companies, even if you've obvious holes in your plot, someone will see and fix them if they are not obvious to you.
Code is a way to express solution to the problem which a computer can execute.
If you can learn any language, you can learn coding too.
Sure, not everyone can understand intricacies of the algorithm design and data structure gotchas but some of that can come as experience and curiousity.
Question worth asking is that, does everyone need this special knowledge? And the answer is even many today working in the field know lot less than you would like them to know.
Many websites have vunerabilities which can easily be solved by following some good practise. But still they are getting paid for that kind of work, which means there is a market for less knowledgeable developers who get the stuff done what's assigned to them even if they do not know how memory and processor works on the basic level.
Today, it's lot easier to code with stackoverflow and GitHub at your disposal than ever.