The big barrier, the one no one's yet solved, is that to be a programmer you must think like a programmer even before your first introduction to computers. Not only that, you have to have a passion for it, if you want to be really good or even great. That's a relatively rare combination of traits. One of the weakest programmers I've ever known had an MS in CS and a Ph.D. in Mathematics. Second to that guy was another with an MS and (then) 20+ years of experience. On the other hand, one of the finest programmers I've ever known was an autodidact with a sharp mind and great passion. I've encountered many great programmers over the course of my career, and a much greater number of weak or even completely unsuitable code monkeys.
A person with a programmer's mind and a passion for it is going to become a programmer (and a very good or even great one) at just about any cost. One who doesn't have a programmer's mind is never going to become a programmer, and one with the mind for it but no passion is going to become mediocre at the very best. The "average user" will never become a programmer. Ever. Though PHP might try to convince them otherwise...
The problem isn't technical barriers to entry, as they're steadily decreasing. Perl is easier to grok than C, which is easier than assembly, which is easier than machine, which is easier than brainfuck. The problem is that overall we can generate X% of the population as really good or great programmers, while the need is some multiple of X. We gotta figure out how to make smarter and more passionate humans, and that's a very tough nut to crack. And not in our bailiwick.
In reply to Re^2: Where does the new generation of programmers begin?
in thread Where does the new generation of programmers begin? by davido
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>