Big_Combination9890 #elitist #racist reddit.com
Quintessentially, programming is the act of translating requirements (usually formulated in human language), into instructions a computer can understand.
Therefore, this process requires the ability to form a mental model doing this translation. This model has to be able to decompose a formulated problem into computable steps, it has to understand the algorithmic primitives that make these steps computable, it has to be able to then compose these steps into a seqence of insttructions, and lastly it has to be able to switch between different levels of abstraction within these steps, because it's impractical to think in assembly all the time.
And for reasons that are, to the best of my knowledge, unknown, some people seem to be incapable of ever correctly forming these mental models. Same as some people (like myself), lack the visual imagination to draw a human face or a scenery on paper.
How much of this is an acquired skill, and how much is innate ability, is unknown.
The research into it is ... difficult, in no small part because our modern society tends towards perl-clutching outrage whenever someone suggests that there may be innate differences between human beings...which is ironic, since the very same sociely also insists that all humans are unique