What on earth is this post even talking about? People can name their variables and write their comments in any language they see fit. How you've managed to draw a parallel between the current state of programming languages and "negroes in the army" is astounding...
>I value inclusiveness, that includes including people who don't speak English.
This is incredibly vacant. You value inclusiveness but you don't cite a single place where you'd like to see that. Do you want more programming languages to be constructed in Portuguese? Do you want to see more French comments on HN? What specifically are you looking for?
Edit: Perhaps I'm missing something crucial in the linked video? YouTube is blocked at my workplace.
Edit2: Alright, there's been a line added to the post referencing http://news.ycombinator.com/item?id=4886560 Although I might disagree with the post, there is certainly context for its existence now.
The post is talking about doing things like participating in discussions, submitting issues or feature requests, reading or writing documentation, and so on. Try submitting a pull request to any major OS project. Can you document your changes in Spanish?
I'd imagine you can document your changes in the language the product has been documented in previously.
Reading and understanding software is an already difficult task, I'm not sure why you insist we add an additional layer of complexity to it. Your intentions are noble, but I think the end result is a detriment not only to any English committers, but to the Japananese committer who is also expected to be able to understand/translate Spanish and English. And when she starts committing in Japanese, your original Spanish committer is now saddled with an additional layer of complexity.
The army analogy is a little bizarre to me as well. The issues of discrimination you pointed out were not centralized around communication issues. I imagine most militaries don't support all the languages of the world due to the obvious communication problems this would create.
The argument comparing to gay/woman is just a fallacy. you can learn english, everyone can. You cannot stop being a woman or being gay (despite the latter being argued many times in the past).
And you should learn english. The problem is not because you have to. The problem is to communicate better and to share more. The exclusion principle will still apply, but instead excluding bigger group (people not speaking language X) instead of a smaller group (people not speaking english), unless we actually have completely-automatic translation (and then there is no issue). See what's going on in ruby community - you cannot participate in the design of the language, if you don't speak japanese. As simple as that.
you can learn english, everyone can. You cannot stop being a woman or being gay
That argument doesn't persuade me. Let's say you could stop being a woman, perhaps by taking hormones and having an operation. Would it suddenly be ok to have a male-only company, since obviously people are choosing to remain women?
Your second paragraph is simply arguing something I already agree with, namely the utility of everyone using English.
You're bringing a strawman. Obviously having an operation is slightly worse than learning english.
Regarding the utility - the final utility of male and female company is known to be better than a male only one, even if for a short period of time it drops. A utility of everyone speaking the language he pleases ends up with a situation of lack of communication, which is certainly worse than everyone speaking broken english.
What I would argue instead (and it has been on HN) is that we should allow more broken english and be less nazi about it. It's fine to restrict people who know english better to use only simple words (for example) to lower barriers of entry. It's also ok for people to use english that's not gramatically correct (like no doubt, this post).
(1) If a majority of particpants are skilled in English, the less skilled will just submit the best they can, and the better speakers will correct (e.g. at patch-review time) anything too confusing in the same way they correct code bugs.
(2) If the majority of speakers aren't skilled in English, you often end up with amusingly misspelled variable names and odd comment grammar, but most people can't tell the difference anyway, so it's cool....
[I work for a Japanese company, so many internal projects just use Japanese for most comments/commits (although I'm free to use English if I want, because most people can understand it more or less).... but because of character-set restrictions, variable names are still mostly amusingly-misspelled English...]
E.g., there doesn't really seem to be all that much of a problem.
Nonsense. To take your example of a Brazilian programmer, he doesn't have to stop speaking Portuguese to speak English. Your hypothetical woman has to stop being a woman. Same applies to your other examples of exclusion. If I learn Japanese to participate in the direction of Ruby language, I don't have to stop speaking English, German, or Chinese to do so.
Exclusion based on lack of knowledge is fundamentally different than exclusion based on innate characteristic.
This article is not "On Programming Languages", it's "On the Use of English in Software Development". Has anybody coined the term "linkbait-and-switch" yet? I'm not against the inclusivity proposed, I just don't like the overloading of the term "programming language" here. Grumble grumble.
You think you'd be doing someone a favor by enabling them to carry on for a little longer without learning to communicate in English, but in reality, all you'd achieve is closing many many doors that otherwise might be open for them in the future. Not just things like good jobs and scholarships (which itself should be reason enough for any young dev not speaking English yet to drop everything else they have planned and focus on learning it). Not knowing English will make it much harder, if possible at all, to learn and become really good in what they're doing.
If you saw a developer who had to stop drinking whisky each morning because their hands were shaking so badly they had trouble hitting the right key, and you decided to help them by creating a special keyboard, easier to operate with shaking hands, that would be a similar kind of charity to your "inclusiveness".
I'm surprised that nobody has pointed out the other sciences, in which English is clearly the dominant language. If you learn chemistry in any country around the world, you're going to be interacting with periodic tables using the Roman alphabet for elements, for example.
At one point, Latin was the lingua franca[1], but those days are long past. French and Russian were used in the mathematics, but even there, mathematical papers are being published largely in English nowadays as much as possible, even if the author is a native speaker of another language.
The reason this is practical is because the sciences all speak their own language anyway. Every chemist, regardless of their native language, knows that this expression[2] denotes the combustion of propane. Likewise, mathematics uses its own symbols and relationships.
I remember the story of someone - perhaps Erdos? - co-authoring a paper with another mathematician, despite neither of them speaking a single natural language in common.
A well-written computer program may have English identifiers for variable names, but this is really cosmetic more than anything else. (If you don't believe me, go ask your lexer!) Don't confuse the fact that we usually attach English identifiers to variable/function names with the myth that our programming languages are somehow "English" in nature.
I'm surprised that nobody has pointed out the other sciences, in which English is clearly the dominant language.
And industries, such as aviation. All air traffic controllers are expected to be able to converse at a basic level (as necessary for ATC duties) in English even if pilots and ATC may sometimes choose to use other languages.
Interesting article. We actually just had a discussion on this topic the other day at work. Oddly, or out of best practice, whatever you want to call it, we try to keep all code documented in English, written in English, etc, but almost everyone involved on our projects would understand it better if it was in the native language. I do sometimes wonder how big of a difference it would make in the community, since most coders just read the source code anyway. I've had to work on a couple foreign language code bases in my life and it wasn't anything extravagantly difficult. Though, then again these were all european languages where you more or less know what something means if you speak a couple anyway, that's not the case with something like chinese or arabic. Anyways, I wouldn't mind not forcing the "everything" in English, I think if it was a looser atmosphere more people would get involved.
This is preposterous. There is no moral equivalence between requiring code to be submitted in a particular language and requiring racial segregation.
"All code must be submitted in English" is morally equivalent to "All code must be submitted in Python" - which is to say, there is no moral perspective whatsoever. Maybe it makes sense to have an all English (or all Python) codebase, maybe not, but these are logistical questions, not moral ones. They should be decided on the basis of utility.
I don't think it's preposterous to note that there are people who don't speak English and wanting to include them, any more than it's preposterous to note that there are people who can't afford an education and wanting to find a way to get them one, or noting that there are people who don't like in the US but wanting to find a way to have them participate in programming.
There may not be a reasonable trade-off between utility and value, but preposterous isn't a word I accept for valuing the idea of being more inclusive.
This is disingenuous. You are not merely suggesting that we be be more inclusive of non-english speakers. You imply that requiring english is the moral equivalent of racial segregation. That is preposterous.
This argument is not even reasonable on its face. You're overlooking one of the essential characteristics of utility-based pro-segregation/anti-gay arguments - they're demonstrably false. It's clear that a desegregated military is more effective, not less. Homosexuality, I am sure, will prove itself similarly.
As others have already mentioned, comparing a choice of a common language for communication to discrimination issues is just completely baseless.
In total, picking a common language and sticking it makes it much easier for people to communicate. Sure, the native Spanish speaker will have more trouble with English than with Spanish, but what about the next guy, that happens to speak French and English and wants to read the Spanish guys comments?
Suddenly people don't have to learn English as a second language, but have to in fact learn all the languages that other people on the project like to use. Of course everybody will still have to learn English, but now you better also know some Mandarin, French, Spanish, or whatever somebody else felt like using. Latin anyone?
Are the translational grammar of latin based languages such that you could just add more reserved words? If we were to add for/if/etc for other languages that use our alphabet, would it be just one word each time? Would an imperfect single word be chosen over a better fitting phrase, because the nuance is not needed?
Who is this aimed at? It's relevant for OLPC-educated, but if you were contributing to Lua (Brazilian Portuguese) or Ruby (Japanese) you'd be on english mailing lists. OLPC in South Africa alone has 11 languages. Maybe we can't add reserved words and entirely portable scripts, maybe there has to be conversion, and modes/switches like english-reserveds, european-reserved, all-reserveds.
The utility argument to exclude a minority/woman/gay/lesbian person was just BS. But what you're talking about here is the ability to communicate. If you can't communicate with someone, I don't know how you expect them to be able to contribute to a community. The only realistic way would be to have people in charge who can communicate in every language in the world, all of which whom also share a same language in common. Or have every programmer speak every language.
> I know we'll have to take a hit, just as the armed forces did take hits when they put negroes, and then women, and then homosexuals on the firing line.
If by "take a hit" he means "take political arguments," then this is true but irrelevant to his argument. If he means "became less effective," then that would support his argument, but it would also be false.
Are there any programming languages/environments that allow localization of code? I mean where you can give multiple strings to each declared symbol, for multiple languages.
I actually a similar thought, the other day. (I have worked a lot on international programming teams). What if there were programming languages in which the language had keywords which could change depending on locale? Maybe variable names could be localized? And comments could be translatable so that the programmers would be able to see their native language inline?
In international teams, I wonder if this could aid developer productivity throughout the team?
I think he is talking about the localization of code itself (in the case of Android, the Java that the app is written in), not the localization of the user interface element, etc. that the user sees.
Imagine a programming language in which the keywords, for example, could change based on the user's language settings.
>I value inclusiveness, that includes including people who don't speak English.
This is incredibly vacant. You value inclusiveness but you don't cite a single place where you'd like to see that. Do you want more programming languages to be constructed in Portuguese? Do you want to see more French comments on HN? What specifically are you looking for?
Edit: Perhaps I'm missing something crucial in the linked video? YouTube is blocked at my workplace.
Edit2: Alright, there's been a line added to the post referencing http://news.ycombinator.com/item?id=4886560 Although I might disagree with the post, there is certainly context for its existence now.