One other factor I would mention is the massive uncoolness of Ada. This seems to come from three directions:
1. Invented by and for a bureaucracy known for its extravagance and wastefulness.
2. Verbosity of a degree only before seen in COBOL.
3. A focus on avoiding errors above all else. For people who have a positive/benefits focus like most hackers, this negative focus is very unappealing and provokes references to anal-retentive pedants and so forth.
I would agree with others who pointed out the other problem "won't run on a computer I can buy - and anyway I can't afford the compiler". This is not to criticise the compiler developers but nonetheless it was a problem.
Oh please, the comparison of Ada to COBOL is invidious. Ada simply requires you to be explicit about your intent. This is a feature, not a flaw. You mean to say that you've never been burned by an implicit conversion in C, or a misplaced semi-colon? Ada is no less verbose than Java.
I am an Ada developer, but I think it is objective to say that anyone who opposes a language because there fingers will have extra work probably doesn't belong in this field. If you consider the development process as a whole—research, planning, development, verification, etc.—those extra keystrokes add an exceptionally marginal amount of time to the development process, but reduce time so much more by making the code more intuitive to read. Don't let me lead you to believe that Ada's words make it intuitive; that would be disingenuous, but the syntax has been formed since its inception to be readable by developers and non-developers alike. This is an important distinction with something like Java, neverminding that you don't have to explicitly instantiate generics in Java. One of the key objectives of Ada is code that is especially intuitive to non-developers. There's a lot going on in the language. I hope this helps.
Poor James Carville. According to Wikipedia he was the one who coined that phrase. But Clinton gets credit for it, much like (IIRC) Edison got a lot of credit for the work of his minions.
This seems to contain two embedded and unexamined assumptions.
1. That this is a problem. If women prefer not to go into sciency fields (other than biology) why is that inherently a problem? Do you think women are too dumb to make their own choices?
2. That it can reasonably be "fixed". Spending more money on education must be the most commonly employed and most universally failed intervention in social policy.
I would also question the premise of the posting, that "diversity" in terms of race and sex is a highly desirable thing. The evidence for this is very thin, and indeed more ethnically diverse communities tend to have lower levels of trust and social capital.
There is some evidence that diversity in terms of viewpoint and skills is useful but just eg having more white women in the office may not be the great boon people assume.
People choose whether or not to go into a field for both reasons which are intrinsic to the nature of the field and also reasons which are related to the mutable, hmmm, socioeconomic conditions? surrounding the field.
Example: I grew up on a farm and love farming. The moment I had some free cash I bought a couple of acres to engage in hobby farming. I would never, ever consider becoming a farmer professionally, because farming is a terrible job. In bad years you rely on crop insurance and loans to get by, and in good years you make enough money to cover your costs and keep going. You're squeezed in all directions by megafarms who sometimes have legitimately lower costs and sometimes just want to drop prices to drive everyone else out, real estate developers who can pay more than you for new land, and middle men who use their mass to pay producers less and charge consumers more. You'll work eighty, ninety hours a week for the pay of a McDonald's employee, without the chance of a "big score" like a startup founder.
None of these are intrinsic to the actual act of farming.
So what is the reason why the composition of the hiring pool for software engineers does not match the composition of the population as a whole? If it for reasons intrinsic to the nature of the job, that's one thing, but if it's for stupid reasons, like an unappealing culture (eg, white dude-bro culture) or lack of early access to computers and programming, well, we can fix that.
If we can fix that, and bring in all the people who are currently excluded from software engineering for stupid reasons, we could potentially double the number of software engineers.
Doubling the number of software engineers should be an obvious good.
#1 was not an "embedded an unexamined assumption", it was the explicit condition of the stated conditional. ("If they have reasons to prefer a diverse workforce...")
#2 is, insofar as it appears to be an "embedded and unexamined assumption", simply a result of brevity in omitting "...insofar as doing so is practical without costs that make it a net loss" at the end. Obvious qualification is obvious.
> I would also question the premise of the posting, that "diversity" in terms of race and sex is a highly desirable thing.
"Desirable" is subjective. Google expressly claims to value that kind of diversity. Obviously, you might have different values, which, to the extent that the means you choose to pursue them are not themselves illegal, you are free to pursue in your own company.
> The evidence for this is very thin
The evidence is actually very strong that its a thing that some people value independently of whether it contributes to any other thing that they value.
I agree with you. But "you are free to do them in your own company" seems to be less and less true, as the amount of shaming hit pieces in the media rise. Whether that's a good thing, I pass no judgements on. It's interesting watching a community's values change in real time.
And if women are less interested overall in CS and/or have less ability on non-verbal tasks overall then you would expect that the RHS tail of the distribution of women would be lower than the RHS tail of the distribution of men. This is just basic statistics.
The same applies with African Americans. Blacks in the US have far lower IQs than whites - this is not in dispute though there is a certain amount of dispute about the reason, with some people attributing it to environment. As such the normal distribution will ensure that a much lower percentage of blacks will be at the high end of the scale (135IQ+) where google gets their recruits.
So the fact that google is close to the averages suggests they are already making a lot of effort to bring in women (and non-asian) minorities. Asians are highly over-represented at google versus their fraction of the population.
I see a lot of people make claims like this, or even stronger ones such as claiming it has little/nothing to do with environment. Charts like this bear that out somewhat with the poorest Asian and white students scoring higher on the SATs than well to do blacks: http://1.bp.blogspot.com/-1a52vkpjans/UmjAc5fGxtI/AAAAAAAAA6...
Generally, people I see who bring this up are usually using it as a thin veneer over racist beliefs. When asked what end discussing minority IQ serves, they usually suggest defunding inner-city (read: black) schools or similar measures.
I can't get on board with that. I think the US certainly fails at providing equality of opportunity to many groups, and there is still widespread discrimination against women and minorities. We can certainly do better and we should view people individually rather than treating them in a prejudiced way based on group membership.
I also have a hard time getting on board with a "blank slate" view of humanity. I'd love for someone to prove me wrong so I could fire back at "race realist" reddit commenters, but it seems plausible to me that different groups, especially men and women, are biologically predisposed to certain traits, on average.
I know in my career that requires both a certain amount of aggressiveness and quantitative aptitude that my colleagues have overwhelmingly been Asian or white men. I've worked with women and "under-represented minorities" who've made me feel like a chump trading, and I certainly don't harbor prejudices about them, but they're difficult to find.
As such the normal distribution will ensure that a much lower percentage of blacks will be at the high end of the scale (135IQ+) where google gets their recruits.
There's little evidence that IQ and programming ability are correlated.
There is some evidence[1] that Mathematical ability and success at programming are correlated (30%). [1] shows that gender and programming success are correlated, but others show no correlation at all.
[1] shows an 8% correlation between spatial ability and success at programming are correlated, while [2] showed "only a small correlation".
[2] shows that people who are successful at program articulate tasks differently to those who are not.
> There's little evidence that IQ and programming ability are correlated.
Yes, but while programming ability is no doubt a priority for Google in programming positions, its not unlikely that general intelligence is something they desire in a broad array of positions (including programming positions.)
So, its not entirely implausible that, to the extent that there are group differences in IQ distribution, those play some role in explaining Google's diversity results (of course, IQ is not purely innate and does appear to be influenced by a number of environmental factors, though those are even farther upstream from hiring than the kind of things that Google is focussing on with regard to educational opportunities in computing for women and minorities. But there is no reason Google couldn't work to improve those, too.
It's unavailable in the sense that you can actually buy it now. I just did. That is, in the sense that it is available. And right now the claim made is demonstrably false, if not a deliberate lie.
Seriously people you need to confirm your facts. Not everything you read in the papers is true.
It's definitely unavailable right now, for me. Glad you were able to order it, but your ability to do so once doesn't mean many people aren't prevented.
> maybe older developers have a blind spot towards opportunities that have failed in the past
Yes. A lot of things have to come together for something to work. Something can fail many times before succeeding. A little irrational optimism can be a good thing. Hitting the ground running at the exact moment is very challenging.
Many times it is blind enthusiasm. My first exposure to that was being surrounded by VC's in 1983 who wanted to invest in our company. We had one of two project management systems, in the market, that worked on an IBM PC. By 1985, there were over 140 competitors. 140; that's a lot of developers hitting the ground running.
Protip: the government scans and keeps the exterior of all mail that is sent. So, put the returning address on the inside of the envelope so that it is harder to work out who is sending mail to whom.
1. Machine learning is moving more and more towards indirect programming i.e. you program the computer with a learning algorithm and let it work out what to do. Google reinforcement learning, or machine learning. This greatly reduces the programming bottleneck.
2. People underestimate how much processing power the human brain has. Think 100,000,000,000 neurons, each with 1,000 active connections on average and perhaps 10,000 latent connections (which are being updated via Hebbian learning). The connections (axons and dendrites) are the active processing units. The cycle time is .01 seconds or so. Only the very largest computers are anywhere near this processing power (~10^16 operations/second). My current desktop is about 10,000 times less powerful. Now imagine trying to build a tractor with a 1/100 horsepower motor - such a difference is beyond being a gap, it is a qualitative difference.
Given the limited processing power available it is amazing computers can do what they can. Back in the 1980s a large bank was run on the equivalent of (1/10 of a millimeter of brain tissue)^3.
There are some caveats to comparing the computing power of the brain to computers. Computers have vastly more serial processing power than the brain. Transistors are thousands to millions of times faster than neurons. Signals propagate through the brain relatively slowly (only about 200 times per second.) For problems that can be done iteratively, computers are vastly superior.
Second computers are intentionally designed to be general purpose and they sacrifice a lot of potential speed to do this. If you were to build some algorithms into the hardware they would get vastly more performance (eg bitcoin mining), but that's extremely expensive. However being general purpose has a lot of advantages. Computers will always be faster at many things than neurons.
1. Invented by and for a bureaucracy known for its extravagance and wastefulness.
2. Verbosity of a degree only before seen in COBOL.
3. A focus on avoiding errors above all else. For people who have a positive/benefits focus like most hackers, this negative focus is very unappealing and provokes references to anal-retentive pedants and so forth.
I would agree with others who pointed out the other problem "won't run on a computer I can buy - and anyway I can't afford the compiler". This is not to criticise the compiler developers but nonetheless it was a problem.
http://en.wikipedia.org/wiki/Worse_is_better