I'm great believer that anyone can get to be _reasonably_ good at something if they invest enough time and effort into it.
It's the classic logarithm curve; when you have no skills in a field, you can learn a few skills really easily (steap curve). Then, as you get better, your progress for effort-expended goes down until you're basically a domain expect (flat line; no matter what you do you basically dont get any better).
This applies to ANYONE on ANY field; the curves are just different; and I'd argue the steep part of the curve is pretty long for programming (compared to say, I dunno; learning differential equations).
Despite the great them-and-us divide that geeks (and here I generalize based on the geeks that _I_ know personally) seem to have to 'other people' who are 'dumb' ... people are, in my experience, generally smarter than you'd expect.
I'd rather encourage people to learn a little bit, than tell them to go away because they're probably not smart enough. <-- This is arrogant as f*, and if I see someone do it, it makes me angry... although, I realize you weren't directly saying that, so please, take this as a general comment, not as a criticism of you personally. :)
It's not that people are 'dumb' or 'smart'. It's just that some people have an easier time with some topics than others. I have seen people who really struggeled with the basic concepts after three courses (not my courses ;)). Others understood it far quicker and with much less work.
I'm not saying that these people were dumb. They usually excelled in other areas, just like I am seriously unable to keep a plant alive for more than a few months (believe me, I tried!).
As I said, to some people some topics are an exercise in frustration. It's not that hey can't learn it. It would just be really painful and boring to them.
Those people who just generally don't like learning anything would likely be frustrated by learning about programming, but I've no idea if this amounts to most people or not.