Interestingly, there is some research to support the idea that ability to learn programming is a bimodal distribution. One interpretation of this was that people fall into three basic categories: those who cannot do the reasoning, those who can, but find it very unpleasant, and those who do it with some ease. Presumably most professional programmers would fall into the third category, but if there were some in the second category, that could perturb the distribution.
http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf