Increasing Rust’s Reach
blog.rust-lang.org
blog.rust-lang.org
Cool, so they are looking to make Rust more useful by involving people with different perspectives.
> we would especially love insights from include women (cis & trans), nonbinary folks, people of color
Oh. Well this is weird. They seem like awfully indirect measurements of relevant skills and perspective Edit: explained in a comment https://news.ycombinator.com/item?id=14657507 by wll
> non-native English speakers, people who learned programming later in life (older, or only in college, or at a bootcamp as part of a midlife career change), people with disabilities, or people who have different learning styles.
Ah yes. This is what I expected to see.
I'm loving what Rust is currently bringing and is going to bring to the world, I want them to be really approachable, and I want it to be used in new ways - but it really reads like they are playing with going the way of Github.
EDIT: See earlier edit.
What's the way of GitHub?
http://www.businessinsider.com/diversity-guru-discusses-whit...
This topic is likely to become a flamewar IMHO though.
Documentation or discussion could use language that means some demographic groups aren't comfortable getting involved, when they could otherwise be great contributors. It's a reasonable idea that some people already think computer programming "isn't for them", and that correcting that misconception is important. I agree that people should be judged by their merits, so we should focus on not deterring people for non-technical reasons.
The effort to reach underrepresented demographics seems to stem from last year's survey results [0]. Increased diversity could lead to new project-wide perspectives and overall community enrichment, if solely due to life-experience-based heterogeneity.
[0] https://blog.rust-lang.org/2016/06/30/State-of-Rust-Survey-2...
Fortunately the Rust community isn't GamerGate, but if we can eliminate those attitudes sooner, then that's in Rust's long-term interests.
I'm not saying it isn't; I don't know. I just don't see why should we assume that it is.
At least at the university I went to it is something like 5-10% women in computer science and electrical engineering.
(Side note: the word "privilege" is really poorly chosen, because in practice it has a strong implication of blame and guilt assignment in our culture.)
It was hard, sweaty, backbreaking labor, especially for a 12 year old; I did it because I wanted to program. I used that computer to teach myself to program, and got my first real programming job from someone who I'd never previously met in person, over IRC.
According to today's identity politics, I need to be aware of my privilege as a white male nonetheless, and my position on the coarse-grained intersectional hierarchy of privilege.
I'm not really sure what I'm supposed to do with that once aware, or why they get to decide where everyone fits on that hierarchy on the basis of traits they deem important.
Yup. That's because as a white male, you are still "privileged".
I'm using quotes here, because, as mentioned earlier, I don't think the word is a good fit for the concept it's supposed to describe. Privilege implies something above and beyond what you are normally entitled to; something that you don't necessarily deserve (I think that's the main reason why it elicits such a strong negative emotional response in people). As a white male, you are not getting such things - you're getting normal treatment, in a sense that no-one is making negative assumptions about your intellect, your ability to learn etc on the basis of your race or gender (they may well be making them based on other traits, and you can be underprivileged on the corresponding other axes). The problem is that others do get negative points solely on account of their gender, color of their skin, or even their name alone (http://www.nber.org/digest/sep03/w9873.html).
So you don't really have a "white privilege", but rather they have a "non-white handicap". It's not your fault - but because of said privilege, you're in a better position to try to correct it somewhat.
> I'm not really sure what I'm supposed to do with that once aware
Try to do what you can to even things out. I'm not even necessarily talking about politics, but just day to day things. Have you ever seen a female colleague being talked over in a meeting in your presence? Try to steer the discussion to give her voice. Ever been on a hiring interview loop, and heard dismissive racial or cultural stereotyping of a candidate based on their name alone ("I wonder if he codes like an Indian" etc)? Point it out. And so on.
The 'white' part is just as problematic. There are many other things that make life hard too. Having a mental illness, for example, or being molested/abused as a child. Yet no one talks about non-mentally-ill privilege or unmolested privilege. Just because skin color is something that can't be hidden when we go out in public doesn't elevate it above all the other difficulties or challenges in life. I've known people from all those groups and would say that depressives, schizophrenics and victims of molest have far more challenges in life than do minorities. Which is not to say that there aren't people who have more than one set of challenges, just that the focus on race and the implication that life is easy for someone who's white is not productive and frustrates people with other legitimate challenges in life.
This is, to me, why many reasonable people have a problem with identity politics. In an effort to bring awareness to the struggles of some, it actually ends up making others feel marginalized and their experiences minimized and is confrontational in nature. Empathy is about envisioning yourself in someone else's situation. The way we do identity politics today, it's the reverse. Instead of the desired, "I imagine myself in your position and I see how hard it must be" it's "I imagined myself in your position and, trust me, it's easier than mine."
I have a parent who is a psychologist. Growing up, I was taught that the right way to handle conflict was to always talk about your personal experience. Saying, "you're being insensitive" is accusatory, controversial and bound to cause an argument. Saying, "I feel unappreciated" is an unequivocally correct statement that can't be argued because no one else can know how you experience something. The only way to sort of refute that is to say, "I don't intend to make you feel that way." The problem with the term "white privilege" is that it's not a personal experience term. It's a term that encapsulates a projection of the white experience from the perspective of minorities. Anyone who doesn't feel they lead a privileged life will instinctively reject it. We need to be using terminology that's in line with the "I feel..." way of expressing oneself...terminology that helps convey the difficulties that some people face rather than the lack of difficulties everyone else faces.
Actually yes, we do talk about that stuff as well. The things that you hear most - racial, gender, wealth and religious privilege - are talked about more simply because they affect proportionally more people.
I'm not saying it isn't; I don't know. I just don't see why should we assume that it is.
Have a read-through on http://geekfeminism.wikia.com/wiki/Geek_Feminism_Wiki, or any of the other excellent references online.
Yes.
I'm not following that logic - if a reason to use male pronouns is that current programmers are male, then does it not follow that, yes, it actually matters?
(And if it doesn't matter, why care? Why not let the people who want to use other pronouns use other pronouns?)
By itself not much: but I see it as a necessary-but-insufficient step, in much the same way it is necessary to remove public statues deifying US Civil War Confederate "heroes" (I'd prefer the term "traitor"...).
> Are women really put off of computing because of that? It all seems so trivial.
Not "because of that" directly, no - of course not, but projecting an inclusive image is important to attract people who might not otherwise be interest for fear of not being a "cultural fit" despite having the skills. (Most) people are not robots: there is a very human need to feel accepted and fit-in.
I quickly went through the Wikipedia article on Men in Nursing just now to write this reply and it's already having me reconsider how I perceived gender bias in industry: https://en.m.wikipedia.org/wiki/Men_in_nursing
This doesn't need to be a hypothetical question. You could find a woman programmer and ask her. (A woman might even chime in on this thread, although given the ridiculous level of toxicity on this thread, if I were anything other than a het cis white man, I'd be staying the hell away from here.)
Or you could even Google it, and find some woman programmers talking about this. Here are a few references to get you started. https://geekfeminism.org/tag/pronouns/
A common line of argument is that "being more welcoming" will lead to more contributors and thus to more diverse perspectives. Browsing through Rust's documentation and bug tracker alone makes me skeptical of that. I can't find a thing that will turn away someone interested in Rust.
There's definitely sexism in the industry, no question. But I have yet to see someone present numbers of how e.g. their Code of Conduct lead to more contributors. I doubt that any of these undertakings do, unless the project really does have an asshole community. But Rust surely doesn't.
No matter how egalitarian your code of conduct is, there's no substitute for not being a shitty person.
https://github.com/opal/opal/issues/941
I don't follow the Rust conversations enough to tell you anything about what goes on there. That they adopt and enforce a Code of Conduct designed for censorship of non-believers in that cause with a few, strong supporters on the team is enough to worry anti-censorship people. Regardless of Rust project or somewhere else, we opponents block it on grounds of fighting forced compliance with political views with no consensus. Fighting political domination on forums that are supposed to be about tech. That its author has hit many places from Opal to Github means we prefer to block her CoC even more.
Rather have a Code of Merit with clauses for keeping things civil. Minimal to no politics: just project-focused code, docs, and support of people in project-related conversations. That's it.
https://github.com/rosarior/Code-of-Merit/blob/master/CODE_O...
I have no idea what you're talking about. Rust's code of conduct is older than the Contributor Covenant, and we've modified it very, very slightly since its inception.
(I also disagree with the rest of your post as well, but that's offtopic and I don't particularly care to discuss it.)
1. Node.JS (semi-fitting of my post) and Contributor Covenant (target of my post) per current site.
2. Citizen Code of Conduct per Reddit. Looks just like Contributor with same provision that people must follow the politically-dominant group's rules on every forum or be blocked. It claims to be derived from Django Code of Conduct (partly-political/partly-good) and a feminism wiki. The latter mentions things like "Verbal comments that reinforce social structures of domination" with long list following to be subjectively evaluated according to their politics. Just like my post again.
So, even if your people did one before Contributor Covenant, it's similar to that pushed by the same kinds of people shoving politics down everyone's throat with some of the same content. My post still stands with the correction that you borrowed from different leftist, control-freak politicians initially with minimal modification from the one I mentioned. Each of the source are very clear about their political agenda and intended censorship.
I cannot, because I haven't investigated to see if it exists or not - hence this exercise :)
There's other ways to address that too. I've used https://textio.com/ in the past for job ads and it's really interesting to see examples of how seemingly minor word choices can land depending on the reader. It'd be a relatively simple task to run documentation, RFCs and Github comments of core team members through such a service and automatically generate a report (which wouldn't have to be released publicly, but could be sent to authors to aid in using more inclusive language going forward).
The thing that's really difficult to do is to be inclusive in a way that doesn't feel exclusive towards people who aren't in the target demographics. Using these types of automated tools doesn't have that downside. Has anything like this been suggested/done by the people working on Rust?
Its particularly interesting to note that the respondents gave a figure for LGB that falls within most estimates for population percentage (and hence doesn't form an underrepresented group here).
One might wonder what benefits alternate uses for scarce resources spent chasing that "could" could provide instead.
I'm skeptical of race- and gender-inclusive policies because they're often blindly implemented and detrimental to their goals but diversity has shown itself to be not just important, but vital, to the long term success of any large, complex system, whether it be the Apollo program or our planet's ecosystem. I'd love to hear rational arguments against, however.
It could be correlation, not causation.
Over millions of years, the species in that lake evolve ... and lose their eyesight.
In that environment, how much value is there in diversity of traits like color?
Natural selection will favor the animals who don't have to waste energy on pigmentation... until a billion years later when a sink hole opens up or one of the species evolves bio luminescence and all the organisms that lack pigments start to reflect all incoming light back at their new, hungry predators. That's the whole point: environments change all the time and the chance of a species surviving is dependent on the diversity of its members, just like the survival of carbon based life through a planetary mass extinction event is dependent on the diversity of species.
Evolution can only happen through random mutation so, by definition, any environment with evolving life forms is always changing unpredictably.
If anything, this process (and the efforts from which it stems) seem purposefully designed to eliminate intellectual diversity, in favor of a rigid monoculture maintained by empowering political officers in the enforcement of right-think.
> If anything, this process (and the efforts from which it stems) seem purposefully designed to eliminate intellectual diversity, in favor of a rigid monoculture maintained by empowering political officers in the enforcement of right-think.
If your idea of a monoculture is a place where people have to be respectful of other people & cultures and not use culturally charged words then I think almost everyone in the Rust community would be happy with that outcome.
If you want to provide evidence that the Rust community is trying to eliminate intellectual diversity in favor of superficial qualities instead of sincerely trying to outreach to underrepresented communities that may have a lot to offer, I'm sure they (and we here on HN) will be happy to have a rigorous, respectful debate with the express goal of improving the experience for as many people in the community as possible, including you.
Until then, you are free to grind your axe elsewhere, perhaps somewhere without multiculturalism to make you so uncomfortable.
I believe their concerns about the loss of "intellectual diversity" are genuinely felt - but frame it as someone who genuinely believes themselves and their opinions to be level-headed and that these new voices, who are telling them that their opinion are wrong, will of course put someone on the defensive, it's only natural to feel a creep of thoughtcrime policing.
I hate to use a cop-out cliché but I feel that "both sides" need to apply empathy when engaging in debate with their opposition: those that feel out of place and get defensive, or simply think these are overblown matters, are not deliberately out to actually oppress anyone - and those campaigning for more equitable treatment are not being opportunistic.
Let's say I want to objectively evaluate the notion that there is such a thing as an arbitrary, self-declared, non-binary "gender" (or "gender identity") that can range across any number of "genders".
In that case, can you specify the set of propositions used to classify something as a "gender"?
Is your definition purely self-referential (cyclic)?
Does your definition exclude other social self-identifications, such as "goth" or "emo"? Why or why not?
Does your definition rely on references to "biological sex" (e.g. male/female)? If so, what are the sexes "male" and "female"?
This insistence on using hypotheticals instead of providing evidence screams fear; not a rational evaluation of the community and its plans. It's the same tired strategy used by conservatives for thousands of years to fight literacy, education, suffrage, abolition of slavery, welfare, universal healthcare, and pretty much everything good that has happened in human society. No one but its rhetorical peddlers take it seriously because it is purely self defeating: if you're too paralyzed by hypothetical issues to take the first step, then those issues will never be resolved, freeing you from facing the uncomfortable change ahead.
Reading your posting, I think you're implying that non-traditional notions of gender is evidence of irrational thinking, and you think Rust community would be better-off with an exclusively "rational" (by your measure) membership.
My retort is that it is completely irrelevant - I compare it to admitting open young-earth creationists simultaneously with adherents to Wahhabism into the Rust community: both of those positions (in my opinion) are as irrational and non-evidence-based as otherkin or your notion of gender-identity, and yet all of those individuals are capable of making valuable contributions to the language, the runtime, the standard library, packages and so on - accepting their work has nothing to do with condoning or endorsing their opinions (for example we still call radiation meters Geiger counters, even though Hans Geiger worked on Nazi nuclear weapons).
I won't respond to your questions posed because it's both outside the scope of this discussion and I believe poses a dangerous distraction to identify a wedge with which you can coarsely separate people into groups you think you would agree with - and more importantly: we should not be pontificating on gender-identity because none of us are subject matter experts in the field.
Does Rust also have polls to determine the number of contributors who are Christian, and an outreach program to increase those numbers?
Prejudice, like all elements of human psychology, is complicated but the longer you're around it the more you start to see distinct patterns emerge, each with their own rhetorical strategies. I think in this case it is fear because teacup50 only mentions the people who Rust is targeting with their outreach in passing and even implies that he agrees (or at least "doesn't disagree," whatever that means) with the goals of the effort. I see no evidence that he thinks of minorities, women, etc. as beneath him so it leads me to believe that he views the explicit effort of including them as an attack on the integrity of the community and - by implication - his own identity (let's assume ftm he's part of the Rust community but it could also be him lashing out because of the same thing happening elsewhere). It's not necessarily that the new people will make it worse, but that it is the process of bringing those people into the fold that will do the actual harm. It's defensive tribalism in its most fundamental form: fear, uncertainty, and doubt. I'd even hesitate to even call it prejudice - it's really more like a visceral reaction to a perceived loss of or attack on status - but in practice, the two are hard to differentiate and at some point you have to stop giving the person the benefit of the doubt and start calling a spade a "spade."
> I believe their concerns about the loss of "intellectual diversity" are genuinely felt - but frame it as someone who genuinely believes themselves and their opinions to be level-headed and that these new voices, who are telling them that their opinion are wrong, will of course put someone on the defensive, it's only natural to feel a creep of thoughtcrime policing.
I agree wholeheartedly. I distinctly remember several situations on the rust users mailing list and /r/rust where I felt that Rust team members (not the community but the official Rust team) went way too far into the realm of thoughtcrime policing to the detriment of the community. I've been waiting for him to bring those up as evidence of his position so that we can have a merit based discussion on how to avoid such mistakes in the future but he has done nothing but provide unsubstantiated opinions and hypothetical questions meant to lead someone towards his foregone conclusion (even though he frames it as doubt, another common but transparent rhetorical tactic).
> I hate to use a cop-out cliché but I feel that "both sides" need to apply empathy when engaging in debate with their opposition: those that feel out of place and get defensive, or simply think these are overblown matters, are not deliberately out to actually oppress anyone - and those campaigning for more equitable treatment are not being opportunistic.
Again, I agree wholeheartedly. This is an important conversation to have because otherwise, the entire process threatens to devolve into extreme multiculturalism for multiculturalism's sake. That is not only counterproductive but outright dangerous because it does nothing but polarize otherwise compatible groups of people. Every few decades our culture seems to hit that political correctness peak really hard which just causes another backlash from those who feel they are marginalized. The current (disastrous) political situation in the United States is clear evidence of that polarization and backlash - and it's not doing anyone a lick of good.
Even if I axiomatically disagree with someone's arguments, I am happy to engage and come to a middle ground where we make as many people as happy as possible just like I'd engage a flat earther who presents concrete evidence, if only to show him that he is misinterpreting it. However, just like most flat earthers, teacup has refused to provide any evidence other than a gut feeling and that is in no way a genuine attempt at constructive dialogue.
Or I could be dead wrong. He could just be playing a devil's advocate who is really, really bad at communicating.
You can't claim to agree with their egalitarian aims and then absolutely refuse to provide constructive feedback or even any evidence of your claims that their behavior is naive, myopic, counter-productive, etc. It's the logical equivalent of "I'm not racist but..." followed with a comment about how other races have smaller brains as if its a statement of fact with no evidence to back it up.
Don't tell us, show us.
It's not that there aren't times and places it might be appropriate, but I think it'd be better to say precisely what and whose effort you wish to spend on something better and what that better thing is.
There's room for lots of people to pursue different, complimentary goals. If you really hope to tell other people that they should spend their energy on something other than the things they have chosen to think are important, you'll need a stronger argument than vague hints of mysterious opportunity costs.
For me, both the assertion that no opportunity costs exist and the assertion that the/a top problem faced by an upstart systems language is the lack of representation in their community of people with attributes orthogonal to language development strain credulity.
So, which one is a better use of scarce time and resources?
Rust the language is making me happier and happier.
Rust the community sometimes makes my eyes roll. I'll need to borrow the millennial "<shrug> Whatever ..." for the proper response to this.
This is a false dilemma. Work on that stuff is ongoing regardless of this initiative.
There are far smarter places to recover this spent effort, if that is your actual concern.
Rust seems to spill an awful lot of words (which I translate to time) going "Look at US! We're magically delicious ... errr ... socially conscious! <jazz hands>".
However:
1) It's not my call as I'm nobody important to Rust.
2) The only downside is time. And maybe a couple of eyerolls from us old fogeys.
3) And, hey, if it cleans out a couple of real jerks or prevents one from joining then it's probably a net win on time.
As I said, "<shrug> Whatevs ..."
If you're going to criticize how people spend their time, you'd better bring actual facts about how their time is really spent. One blog post and a few side discussions does not constitute a time investment problem. All you have here is a basic polite courtesy, and that's not something to object to.
Bang-up programmers are typically not the ones you want pressing flesh and pushing buzzwords.
Are there any plans to measure the impact of this? That way the Rust project could show other projects the actual, concrete, benefits of diversity.
Well, maybe that's the thing: they aren't measurements of relevant skills or perspective. Instead, you might consider it a form of stratified sampling: trying to include sub-populations that may not be as well-represented so far but may supply valuable contributions.
> Oh. Well this is weird. They seem like awfully indirect measurements of relevant skills and perspective
It might be indirect, but if the empirical evidence says they are under represented, then there is a reason for that. Asking for their perspectives is a sensible way to investigate what the reason may be.
Let's be clear, I don't think it's necessarily within the Rust communities power to change these reasons. If mothers tell their daughters that programming is for boys [1], and discourage them from spending all their time at the computer, then that would be expected, somewhere far down the road, to lead to an under representation of women. That's hard to fix, and it's not something the Rust community can do much about, given that none of the mothers involved would have ever heard of Rust to begin with.
But maybe there will also be some ways to be more welcoming, and I'd expect that to overlap somewhat with the latter points (that you approved off) that have a more clear cut causal hypothesis associated to them. If you were discouraged from playing around with programming as a kid, you'll likely have ended up learning programming later in life. If you were socialized to avoid conflict, then a high conflict environment will be a turn off. Asking what makes it better for people with a different background has the potential to make it better for people who might not share the background, but the handicaps it confers.
[1] http://www2.psych.ubc.ca/~abaron/downloads/Croft_Schmader_Bl...
Is it? Why?
When patients visit the ER, they often believe that whatever change in their diet that they're aware of and focused on -- like eating cabbage last week -- must be the cause of their ailment.
When parents had their children diagnosed with autism, they cast their net for the nearest change to be blamed ... and found vaccines.
Are you really saying underrepresented people don't know why they don't contribute to a project they maybe would have?
..except that here, we haven't worked out the brain-computer interface yet.
The final diagnosis is not necessarily what the patient thinks it is, but it would be grossly negligent to not ask the patient about all information they think might be relevant.
Rust's methodology suffers from severe self-selection bias and politically motivated thinking. It will unerringly produce the answers its creators want to hear; if it does not, the methodology and subject selection will "corrected" to produce such answers.
These are merely "lived experiences" as related by a self-selected group under the banner of a very specific ideology.
And I think they should make an effort to reach out to people of lower economic/educational status or rural areas, regardless of race/gender/etc.
I care for a well designed, well performing language, which Rust appears to be.
I could not care less about what is the colour of people writing it, their sexual orientations, or how well represented they all are. It may seem relevant to you but it certainly is not to me.
I don't even know what cis women are or are supposed to be. Are they good designers and programmers?
When I use Rust, I don't even know what was the colour and sexual orientation of every person that has written every part of it. Why do you think I should know that and care about that? What makes you think it is relevant?
"Cis" is just the opposite of "trans". It is an adjective or prefix. Most people are cis.
Well, you can certainly ignore all that and just use the language. Nothing forces you to do these things, they're just forcing themselves to do these things.
And I think the position being espoused but misunderstood is that people would like to take different approaches to promoting diversity (perhaps by being personally inclusive and politically neutral) but these sorts of codes of conduct are not conducive to those approach. It's not fair to say this is the way to improve the situation. Or that the situation can be improved this way at all. It may be shocking to people comfortable in American coastal culture, but this sort of thing is controversial (look at this thread!) and unnecessarily combative to people from other cultures.
Furthermore, it's not inclusive to many people because it takes a specific viewpoint in many complicated but intentional ways.
I am old and non-native English speaker and I love Rust. Thus I would have liked to participate and I could have ticked some of the boxes. The funding to a conference of my choice would certainly have been very welcome.
Then I tried to reflect on it more honestly. Does my age and my not so good English really make me into such a valuable contributor to a Rust conference? I do not think so. Other qualities might but you do not list those. So I ended up excluding myself.
To clarify then: when I wrote that I am not interested in your obsession with identity politics, what I really meant was that, as a condition of active entry to the Rust community.
So, no, I can't ignore all that and just us the language. I can't use a language in a professional context when I consider the core team to be unprofessional. But that's a nice social experiment and I'll probably use rust for my personal projects.
I'm pretty impressed by the progress the project has already made.
If I had a bit more time I'd love to contribute!
There is Redox, for the full-on ambitious plan to write an OS from scratch: https://www.redox-os.org
Then there's the Rust rewrite of coreutils: https://github.com/uutils/coreutils
Someone also did the research on building a Linux kernel module in Rust, though it seems like quite the hassle: https://github.com/tsgates/rust.ko
There's also a project to essentially wrap seL4 in Rust to build apps on top of it:
There's also intermezzOS, which is a (still being written) "build-your-own-OS" tutorial project that uses Rust.
It's also worth noting that Rust isn't magic and especially when doing very low-level stuff the use of unsafe blocks is unavoidable. On the other hand, by isolating unsafe behavior you know where it is and can test it very carefully and keep it as contained as possible.
Are there any situations where unsafe code cannot be avoided at all, where there exists a program-theory proof that unsafe code must be used?
If it's for performance reasons, then a new safe language construct could be introduced to replace it - such as how a safe range-based loop eliminates the need for bounds-checking with fixed-length arrays.
The project is called Quantum: https://wiki.mozilla.org/Quantum
While HTML/CSS/JavaScript have historic oddities these only go back 15-20 years. x86/IBMPC legacy has 40years of horrible decisions burned into it.
To that end there is a lot of progress in the systems world, but core infrastructure isn't something you just rewrite/replace overnight.
* Redox is a full micro-kernel OS from scratch [1]
* Rustls is a TLSv1.3 compliant server [2]
* Ring is _mostly_ Rust (uses some C for where Rust doesn't work) [3]
* Subtle is consistent time library for building crypto libraries with [4]
* An entire webbrowser (well the JS is still C++) [5]
* A terminal emulator [6]
* A grep replacement [7]
* A non feature complete tar archiver that supports gzip, bzip2, xz, zstd, brotli, and lz4 [8]
The real challenge is Rust has been _released_ for 2 years now. C is approaching 50 years old. C/C++ has _a lot_ of momentum, history, and existent libraries.
[1] https://github.com/redox-os/redox
[2] https://github.com/ctz/rustls
[3] https://github.com/briansmith/ring
[4] https://github.com/isislovecruft/subtle
[5] https://github.com/servo/servo
[6] https://github.com/jwilm/alacritty
Any thoughts on why?
Row WantWorkLanguage responses perc_female
1 R 2477 11.87%
2 Ruby 3743 11.03%
3 Java 9409 8.42%
4 Python 11878 8.22%
5 SQL 10646 7.81%
6 Scala 2972 7.64%
7 JS 15451 7.37%
8 Swift 4282 7.36%
9 PHP 5039 7.22%
10 C# 9640 6.21%
11 C++ 7178 5.20%
12 Go 5500 4.87%
13 C 4536 4.83%
14 TypeScr 5435 4.51%
15 Haskell 2208 4.35%
16 Rust 2604 3.38%
(related thread: https://twitter.com/felipehoffa/status/879806078866776064) SELECT WantWorkLanguage, COUNT(*) responses, FORMAT('%.2f%%', 100*COUNTIF(v='Female')/COUNT(*)) perc_female
FROM (
SELECT SPLIT(WantWorkLanguage , '; ') WantWorkLanguage, Gender v
FROM `fh-bigquery.stackoverflow.survey_results_public_2017`
WHERE WantWorkLanguage!='NA' AND Gender!='NA'
), UNNEST(WantWorkLanguage) WantWorkLanguage
GROUP BY 1
HAVING responses>2000
ORDER BY COUNTIF(v='Female')/COUNT(*) DESCLet's see. What if I take all mentions of each language on HN's who's hiring threads, vs % of women interested in each language?
There is correlation!
Chart:
- http://i.imgur.com/mcN6Ghz.png
If we take out the 2 outliers (r, go) - the correlation is 0.61.
SELECT *
FROM (
SELECT word, COUNT(*) c FROM (
SELECT SPLIT(REGEXP_REPLACE(LOWER(text), r'[^a-z]', ' '), ' ') words
FROM `bigquery-public-data.hacker_news.full`
WHERE parent IN (
SELECT id
FROM `bigquery-public-data.hacker_news.full`
WHERE title LIKE 'Ask HN: Who is hiring?%2017%'
)
), UNNEST(words) word
WHERE LENGTH(word)>1 OR (word='r')
GROUP BY 1
HAVING c>30
) a JOIN (
SELECT LOWER(WantWorkLanguage) language, COUNT(*) responses, ROUND(100*COUNTIF(v='Female')/COUNT(*), 2) perc_female
FROM (
SELECT SPLIT(WantWorkLanguage , '; ') WantWorkLanguage, Gender v
FROM `fh-bigquery.stackoverflow.survey_results_public_2017`
WHERE WantWorkLanguage!='NA' AND Gender!='NA'
), UNNEST(WantWorkLanguage) WantWorkLanguage
GROUP BY 1
HAVING responses>2000
) b
ON a.word=b.language
(caveat: "go" is an overloaded word)We may simply be seeing that female Rust users use stack overflow less than male ones (normalized to other languages). Rust provides lots of other places to ask questions, /r/rust (including the "Got an easy question thread"), https://users.rust-lang.org/, the rust irc (and various other irc's for various major libraries). These may simply be more attractive to women than stack overflow (normalized relative to how attractive they are to men). They all prominently display the code of conduct, are more welcoming to new users (at least in my mind), less likely to criticize you for asking a bad question, care less about having you maintain a identity that is linked to your real name, etc.
It could also be a result of gender differences in answering survey's. Maybe male rust users are more willing to say they "want work" in a language they are unlikely to find work in. Maybe they are more inclined to click "want work" in every language they are vaguely familiar with (v.s. actually being proficient in) than women. Etc.
We also might be seeing that the niche rust fits in simply has less female presence than most other languages. Perhaps on average women are less inclined to experiment with new languages. Are more likely to be working in the sciences maybe (which would explain R and Python being high). Etc.
(Of all respondents interested in Rust, only 3% are women. Compare with R 12%, and Ruby 11%)
Go had this problem in the early days. The early materials were totally uncritical, or in denial of, of Go's weaknesses. Things have improved; now the problems and limitations are better understood. Now people understand that shared data should be protected by ordinary mutexes, rather than using message passing of dummy messages as a locking system. Newer materials reflect this.
No.
Edit: I'm not against these kinds of initiatives at all, I just don't think it's realistic to apply such goals to a free-form group of programming language users.
I did, but I disagree. You're making a large assumption, which is that the group will follow the demographic average. This is not true; individual programming languages' demographics differ from the overall population.
And there's certainly no desire to "remove" anyone, selectively or not. It's about growing the pie, not placing artificial limits.
Also, this initiative is not about people new to programming overall, it's about experienced people who may not know Rust or haven't found a way to get involved with Rust as a project.
Specifically, openssl dependencies, more win32 bindings, and better official docs on how to get it working.
Getting Rust to the point where it is better than C on embedded systems is both feasible (C on embedded sucks on a good day) and would pay off hugely.
So, a work problem to use it needs to be 1) resource constrained and 2) limited programming scope so only I have to deal with it. 1) is easy. 2), not so much.
That's where it's been since the beginning. All the politics, Coraline's Code of Conduct, moderation, talk of "inclusiveness," and so on with "social justice" advocates in or leading some teams. You'd think the teams themselves would be diverse as heck with the community following. Yet, those in control from the beginning up to now are mostly young, white males on almost every team in the pictures.
https://www.rust-lang.org/en-US/team.html
Reminds me a bit of the Huffington Post pic on Twitter showing a bunch of mostly white women running a company whose writers talk lots about how companies should be inclusive and/or diverse without actually practicing it.
https://www.reddit.com/r/facepalm/comments/4kn6ms/huffington...
Both showed structural racism, sexism, and age discrimination exist at the management (esp hiring) level. No surprise that the resulting community wasn't diverse enough in practice when those leading it weren't. One tends to follow the other. There's a bootstrapping requirement of sorts where having internal diversity helps ensure it in the areas they act on (eg communities). It's not there... probably intentionally as some other organizations actively sought out different kinds of people in hiring with either quotas or blind auditions. I could see specific positions in language or compiler teams getting white males or something narrow due to prevalence among top teams in CompSci. However, many jobs on this list don't take a genius so much as someone willing to learn and work. More typical kind of work that both majority and minority talent exists and can handle.
Like in the tweeted reply to Huffington, I suggest the Rust team can begin improving diversity by looking to see if there's a handful of black people in their geographical area or working remotely if allowed that are capable of writing code, writing docs, talking to people online about the language, doing CI, moderating away mean posts, and other things I see in team descriptions. I swear I've seen and met such people doing such jobs in the past in person and online. If they're in Mountain View with Mozilla, Wikipedia tells me that area is over 50% non-white with lots of Latinos and Asians. A lot of women live out there, too. If I'm wrong about the structural discrimination, then none of them can code, write, admin, or assist people and/or they're not in the pipeline somehow with hiring having no way to look for them. Outside the small amount on the Rust team already that are minority members. Call me skeptical that the talent for average work didn't exist or was too hard to find.
Your observation about the current makeup is in fact what we would like to change, and your suggestion to reach out to people is what this post is intended to do.
There's two easy ones that you can do on the team side and maybe in some form on the community side. You and the others are simply more knowledgeable at working with communities so I leave it to you to find what applies. Here they are:
1. Supply side. Talk to people doing these bootcamps, conferences, and so on focusing on minorities in general or specific minority groups. They probably know people in the demographic who can code well. Send people there to talk about Rust like you seem to do in general at conferences and such. Also, invite all in these groups to send in references or Githubs relevant to specific jobs. Give them resources to learn it. Get those that want to get a job or place in the community to get on the forums for help learning and/or submitting code/docs. Encourage, but don't require, them to do it blind under an alias with no info on race/age/gender. Without biases limiting them and with increasing supply, the percentage of minority talent should increase naturally.
2. Quota side. Do something like that plus ads for talent in general. Get a supply of people from many backgrounds with some way to evaluate whether they are capable of performing the role. They all "earned" their place rather than just token hires since each seems to be a decent or good hire. The "best" of all programmers is pretty subjective concept with strong possibility of bias anyway. Then, do quotas for the hiring slots with those brought in chosen randomly with right spread or best rated of each group. A lot of the local businesses out here are, despite the South's racial issues, quote diverse even up to a layer or two of management by just (a) hiring anyone who might be able to do the job, (b) giving them some training/coaching, and (c) keeping those that perform well. Works wonders but I mention other things first since there's few jobs to go around at high cost on your end.
Have fun with those.
EDIT: Fix two deficiencies at top I saw.
This is extremely not true. We have actively cared about this for a long time, and we've been doing work towards it basically forever, with some progress. This is the latest effort. There is no silver bullet.
Did you all do that? And do you have any data on it so interested outsiders can see what caused the failures and how to prevent that in the future?
Again, there's no silver bullet here :)
The approach we're taking here is basically the opposite of what you're advocating; I am not aware of any open source projects that email people asking them to contribute. I would find it extremely odd if someone did that to me. Putting out a call for contributors, on the other hand, is pretty usual.
I'm not saying it common or anything haha. I'm just offering sending messages to people about a project that fits their expertise as a way to boost number of people that know about it and might contribute. This is with assumption that whatever qualified minorities candidates aren't seeing the opportunity or nobody has nudged them to act on it. If for other reasons, this might have no effect.
Of course, one must balance against overdoing it or we get posts about "Rust zealots" blasting messages at everyone. Very selective based on talent with personalized messages with no commitment required. I've gotten a few people interested in experimenting with approaches to automated testing and coding in SPARK Ada just sending occasional emails or messages. Although, most come to me after I post in different places with different types of people/projects that might find them useful. Also, I speculate maybe on web forum side looking for forums with higher percentage of minority programmers or just experimenters/makers where you do your normal thing sharing interesting posts about Rust or its ecosystem.
Just some extra brainstorming. I agree there's no silver bullet. It will require lots of experimentation, measurement, listening, and time above all.