I still believe that programming is not for everyone. There's experimental evidence that programming classes have two bell curves--the ones who think right and can succeed, and the ones who don't. More personally, I've tried to teach CS at various levels, from primary school to university level, and the divide can be very clear. It isn't about ability or intelligence or background, some people simply seem to be unable to think in the right way, like the mental model in their head is trying to match on the wrong criteria for this specific area.