There is a bit of a chicken-or-the-egg issue with these sorts of programs that has always bothered me. I've had some experience with attempts to address diversity in subcultures, and while I agree with the goal, the methods have always rubbed me raw.

The problem is, they tend to always be ran by the majority group to try to "give a helping hand" to the minority group. It's kind of a patronizing position. I didn't need a "helping hand" to become a programmer, and women are smart enough that they don't need a "helping hand" either. And they won't want it.

Think of it this way. There is an extremely similar situation in teaching, where there aren't a lot of young males going into the field. I have had some interest in becoming a certified teacher, having done some semi-formal class programs of various types, but I know for myself I would never go to a "Get Men to Teach" type of program. I wouldn't want to be treated special. I would just want to go through the normal program and be treated no more differently, either positively or negatively, than anyone else. In addition, a lot of people don't like to be told by outsiders that they're doing something "wrong", or that they should do something differently. Someone coming to a programmer conference and espousing how great it would be if more of us got into teaching is terribly unlikely to be convincing. I think most people are probably like this, and I think that's probably why, after two solid decades of "get more X to Y", we haven't really seen an increase in Xs Ying.

And while there is a lot of blame to be placed at the feet of the in-crowd treating the out-crowd poorly, and thus driving them away, I came to a greater realization that the problem was more that the in-crowd just never socializes with the out-crowd, period. I have very few friends who are teachers, but of the few that I have, I know most of their friends are teachers. I have a lot of programmer friends. It goes all the way back to college. I didn't know any teaching students, even though I went to one of the biggest teaching universities in the country, and we tended to have a very dull view of the few we even came into contact with. They tended to have a very dull view of us. The business students were the same. The art students were the same. Hell, even the physics students were the same. We were all compartmentalized from each other in our respective departments.

Then you go to work and the programmers are in one cube farm over here, and the accountants are in another, and the designers are separate. We've managed to create a culture that sees the segregation of people by skillset as a natural thing, and never question it.

And then you get companies saying "we can't hire qualified female programmers. They just don't apply!". Frankly, I don't think open-application is any sort of reliable way to find a decent employee. The only employees that I've known to stick around for a long time were ones that came with recommendations from current employees. You see it all the time, "the importance of networking". "But we haven't done anything to keep them away!" And that is mostly true (though it is important to recognize that there are several instances where active prejudice is still a problem, I think this is a much bigger problem). But employees are people, and trying to "hire more of <adjective>" is treating them like checkboxes, not people. Well, no wonder you don't see more female programmers, because most existing programmers are already male and they don't socialize with many women, period, say nothing about ones that would be interested in programming.

Anyway, my point is, I don't think these sort of "Xs working to get not-Xs to do more Y" are ever going to work, so long as the Xs mostly socialize with Xs. You want to find more black designers? Make more friends of black people. You want to find more female programmers? Make more friends of women. They are out there. While you personally may have not done anything to drive them away, you're also not doing anything to make them a whole part of your life, either. It will always be the case that men will be over represented in programming so long as men are the gate keepers into programming organizations and men do not do more to socialize with women as peers--with the complete reverse situation being true for women and men in teaching. And while you personally didn't ask to be the de facto gate keeper to your industry, the state of things is that you are. Tough shit. Play the hand you're dealt.

EDIT: long-story short, "Get more X to Y" is still treating the Xs as "others". These types of programs perpetuate that cycle. The answer is to eliminate the otherness of whatever property we're concerned about today.