This discussion enters into the realm of "myth" so much more often than fact, because in these discussion, no one even tries to define what "average" is. Is a student studying Java in high school for the first time a programmer? By average, do you really mean the level of programming skill that you meet with the highest frequency or the actual mathematical average? How do you even measure "productivity" or "effectiveness?" I bet one can define parameters where the best programmers are only 3x as "productive" as the average programmer.
And I'm not saying such things can't be measured. I'm just saying that discussions about these myths are often devoid of such measurements.
In my view, discussions like this are much more about the human tendency to deify than an objective search for truth.