A black programmer writes a mailing list entry or article on a website defending a certain style or algorithm in programming.
A white programmer writes a mailing list entry or article on a website defending a certain style or algorithm in programming.
A female programmer writes a mailing list entry or article on a website defending a certain style or algorithm in programming.
A male programmer writes a mailing list entry or article on a website defending a certain style or algorithm in programming.
In the above selection of programmers, let's pretend each one defends the same style or algorithm in programming. Naturally, these programmers end up finding each other and complimenting/discussing programming matters with each other. In general, these folks have something in common - and enjoy each other's company and constructive criticism, since usually they end up agreeing on many points.
This has nothing do do with Race or Sex. It's about culture. If there happens to be more white programmers than black programmers, or if there happens to be more black programmers than white programmers, or if there happens to be more females that eat potatoes than males, it still remains a fact that cultures attract similar folks into them. Whether these similar folks are part of the same race or not is less important, except in situations where the environment of a certain race has influenced their skills. For example, if certain races historically have lived in mountainous zones where running was a common activity each day and week - then obviously this "race" is going to be better at running. however, if some other races move into these mountainous zones out of curiosity and interest in running, then no longer is "Race" as definitive - culture becomes more definitive.
Programming communities are very "cultural". There is a "RAD" culture out there. There is a "Object Oriented" culture out there. There is a "functional Lisp" culture out there. These cultures can be black, white, female, male. There is a "hybrid" programming culture out there who believes in using more than one paradigm and tool for different jobs. None of this has much to do with "Race", unless the race for some odd reason has had a different environment setting historically. For example, maybe if most of a certain "Race" has slow computers, they optimize code more than other races. But generally, race doesn't even have to do with code optimization, since certain people will be poor with a slow computer that are part of any race. (I'm not saying that people who optimize code are poor... just making silly examples for the reader of this article, to prove my point about stupid generalizations).
So far, I've found that finding other people with similar programming interests and similar programming philosophies is far more important than choosing a "Race" of people. Am I a culturalist? Do I beleive in "culturalism"? I'm maybe suggesting that it is possible that "culturalism" exists.. and that I hope to attract a similar culture to my programming tools. After all, who the heck are we writing all these open source or closed source units for? A programming culture that reads the code - not the customer/end user culture. Of course our units and source code affect the end user and customer in the end - but the fact still remains that a programming team needs a culture or they will fall apart since they have no "direction" and no "glue" holding them together.
If a team of programmers wants to write an API or a good software program, this team of programmers has to agree about the tools/languages used to create the API. I know a lot of you think that tools and languages don't matter and that we are all equal and that any good programmer can work with another good programmer no matter what languages and tools the programmer knows - but the reality is that if one programmer has different views than the other programmer, they will probably disagree and never get much work done - even if they are both good programmers. On the other hand if you put two programmers together who already use the same basic tools, and these two programmers seemed to be attracted to the same style of programming, they will work well together. If there are two hybrid programmers out there who don't beleive in purism, they will get along much better than one hybrid programmer trying to mingle with a purist programmer. Two common purist programmers (say two Smug Lisp Weenies) will also get together better than two opposite purist programmers (say one Relational Zealot with an OOP Zealot). This, again, is a sign of culturalism working rather than Racism working.
At the same time, if two "cultures" can get along, that makes it even better... for example if the "plastic expert" can work with the "metal expert", then maybe they can make a car that is a hybrid.. not a car that is "pure metal" but a car that is a compromise. I'm not however saying that we should melt plastic and metal together into an ugly disgusting mechanical mixture and try to make a car out of it. The cultures still have to remain "experts" and separate themselves enough from each other in order to remain experts in those cultures. A programmer can't be an expert in skydiving, cooking, skiing, elevators, flooring, roof tiles, cement, chemistry, physics, staple guns, drill bits. He may be able to be an expert in more than one culture, but not too many - or he becomes sidetracked and lost in life - with few excellent accomplishments.
As a culture, we are more powerful - we can still be nice to those who don't like our culture, and we can still utilize and recognize ideas from other cultures and not be extremist about our culture.. but we still have to define some of our culture. For example, in order to have pride, one must not become an expert in 50 different programming languages - he can only become an expert in a few maybe 5 - but still respecting 45 other different programming languages and knowing of them. Without culture, we become sidetracked with trying to "do everything since everything is everything and nothing is specialized or custom or different".
One other thing about racism: I seem to be attracted to folks who don't look exactly like me, I want someone a bit different.. maybe to protect myself from having intercourse with a family member and producing an incorrect child. At the same time I can see having relationship with someone who is somewhat similar to me in cultural respects. Even if they are black or red or orange, if they like certain things that attracts them to a cultural view, and if I am attracted to this cultural view, then this is stronger than a race bond itself.
Not all "black" people are good cooks and not all "white" people are good cooks, so if two cooks were going to marry each other because of their love for cooking, would race have anything to do with the cooking culture they are attracted to? My claim, is that "culture" is more important than "race", even if "race" sometimes has to do with "culture".
If someone has to "run" to work each day but he is not part of a race that is good at running, and a certain "Race" historically has been a good runner, maybe this person who has to "Run" to work each day will find someone that is good at running..since obviously he is interested in running. The running culture attracts him to another race, because his mind is set on running - not his physical race. Even if he isn't the best runner of all times, he may still have to run to work each day and may end up being attracted to other runners, if this is what his life is all about.. so no matter what race this runner is, he will probably end up being attraced to another runner at some point.
It's all about cultural attractions. This is why we shouldn't ban people from being part of a country just because they are from a different race. On the other hand, if it is proven that a race has become a dominant violent race due to teachings in that country that hosts the race, then we should ban criminals that are attracted to that violent culture - we shouldn't ban the race itself, since some of those race members will be against the violent culture and will be trying to break out of the culture they were born into. If a certain person is violent and engages in criminal activity, we should not assume that all of the members of his race are also violent and criminal in nature - but we should however assume that this violent criminal will attract other violent criminals and "culture" toward him/her. It's not about "Race" it is about "Cultures".
One other thing about sexism: I seem to defend the fact that women and men are skilled at different things, but one sex is not "superior" to the other.. since they are simply both just better at different things. For example, a man's body is not designed (evolved) to hold a baby, and we are not unisex worms who can replicate ourselves, so why try to force a baby into a man (or try to grow one in him) if a a woman is available and better at that? In this sense, I'm not sexist, I just see advantages of "niches" and "specialties". Cultures can specialize.