Was I the only one expecting some comment about planning a bot to translate non-English StackExchange sites to English when glancing over the comment thread and seeing your comment? (I was!)
In any case, I'm not really sure what the aim of the challenge was. Most anybody could probably name at least one non-native-English-speaking developer— Bjarne Stroustrup and Guido van Rossum both come to mind, maybe because I've got language developers on the brain. The only reason I can think of to restrict it to Japanese/Chinese/Russian developers is to use only nations with non-Latin character sets— which is a weird reason, and isn't a very compelling argument in favor of Portuguese localization.
I don't believe the OP actually meant, strictly speaking, Japan, China and Russia full stop. It was more like: name any famous developer from the non-English speaking world...
And yes, the three names I listed are all Brazilians.
Even not counting Matsumoto, off the top of my head -
Japan: Junya Ota (more known as ZUN, the author of Tohou series).
Russia: Nikolay Likhachev (aka Kris Kaspersky)
China: whoever made Baidu, can't remember their name without googling :)
Yup, totally centralized. Spent half an hour figuring out where my question should go (StackOverflow vs Programming vs ServerFault vs SuperUser vs Ubuntu vs Unix-and-Linux). Ended up not asking the question at all.
Shall they open some foreign embassies, I guess users'll spend 10 minutes more deciding in which language should they ask (i.e. whenever they prefer native language or bigger community) or duplicate the question.
The idea of centralization is not inherently incompatible with the idea of categorization.
And it's really not that hard in most cases. Is it an objective question about writing code? It goes on Stack Overflow. Is it about programming as a broader topic? It goes on Programmers. Is it about servers or systems administration? It goes on ServerFault. Is it about general computing? It goes on SuperUser. Is it a highly subjective question about programming? Stack Exchange is not interested in your question.
(I do agree that SO and Programmers seem more like an artificial division than natural categories, but I still don't find it that hard to figure out whether a question is good for SO.)
>See, but what if I'm writing a little script using Bash to run on my server? Does it go in Unix? Or programming? Or serverfault?
That would depend on why help was needed--is it a problem with expressing a certain programming concept in Bash? or with portability across various Unixen? Or with the proper way to invoke some server managament program?
If someone genuinely doesn't know which stackexchange community has the most relevant expertise to help with a problem, there's a mechanism in place to handle that; just post a question somewhere and see if it gets migrated or closed as "belongs on xxx".
The only difficult difference here is Stack Overflow vs Programming, the others are pretty descriptive. The difference is not too hard to understand, but still not intuitive for a new user.
There is also some overlap, so if you have a question about Ubuntu you can also ask it on Unix&Linux.
For me, Stack Overflow vs Programming is easiest to understand - it's whenever the question is about implementation or theory. But some areas, for example, packaging, lie in the grey area between programmers' and sysadmin's job.
If you are fluent in English, ask in English. It has now the biggest community and is the lingua franca of programming.
The important point is that the moderation should encourage the participation of the not native speakers. If someone post a good question or answer with a few grammatical mistakes, then the expected behavior should be to fix the text and not mock the author.
If you feel like wanting to give back to the community, answer in your native language site, if it exists.
[Disclaimer: I’m a native Spanish speaker, ES-AR to be more precise.]
I have strongly mixed feelings on this. When I was a kid my family moved to Brazil for a couple of years and I learned Portuguese. When I was about 20 I moved to Chile and learned Spanish. Speaking the language of the culture you are in is hugely important - and not very easy.
So on the one hand if the culture of programming is in English (is it?) then I would strongly encourage anyone wanting to program to learn English. On the other hand, helping inject a programming environment into another language seems a worthy goal as well. On balance it seems like stackoverflow is doing the right thing.
While learning English will help immeasurably when you're learning to program, the languages themselves are often highly English-baed, trying to tackle programming and English at the same time makes for quite a barrier.
Since being able to ask difficult, technical questions in your native language would make it easier to learn, I don't see what's so bad about that. Yes, it fragments the community, but it also recognizes that the world is not English only. Right now there's large Chinese, Russian, Japanese, and French communities that are second-class citizens without a tool like Stack Overflow.
It depends on the person of course, but trying to learn english while learning programming can create a kind of virtuous circle of learning (learning programming helps getting familiar with english words which helps reading docs which helps programming etc).
It's more difficult to try to learn one ignoring the other IMO. I had collegues that didn't care much for english, but it was surprising how good they were at parsing other people's code and understand how libraries and APIs worked with very few hints.
The connection between programming languages and English is highly exaggerated. Programming language syntax is generally nothing like natural language syntax, and programming language vocabulary (keywords, data structures, standard library names) is usually completely divorced from similar-sounding or similar-spelled words in English.
The biggest problem I've seen is that a lot of the words have subtle meaning and the jargon used to describe the theory is often difficult or impossible to translate.
For example, a "stack" or a "filter" or a "queue" all have specific meanings outside of programming, their nature hints at how they work, even if the technical meaning is obviously different.
Not knowing what any of the things were leaves you with a hazy concept of what they are until you understand their English analog.
I still think it makes sense to try and explain concepts in the language in which one is most proficient, then worry about English later.
The answer to your '(is it?)' is 'No!', english is just the language of the programming culture that we are part of.
And that is the whole point of this article; there already is a lot of programming culture that we simply don't know about because those people don't hang out on HN. They deserve a StackOverflow, too :)
I agree with you, but living in a another country makes it so much easier to learn a language rather than just studying by yourself.
That's why cultural exchange programs are so common here in Brazil.
Second you on the mixed feelings. I'm from Chile, but since I was a kid I've been learning English mostly thanks to the telly and then, from the Internet. School English is made to understand, not to speak.
In most of Latin America, English lessons are not something important for most people, because the actual chance to go abroad for work and actually speak the language is non existent. And that has to do with the nature of the jobs here.
Having said that, I've notice that at least in Chile, and particularly in the startup/software development sector, this is changing at very quick steps, I'd presume it's the same in the rest of Latin America.
So, it's only natural that we have one language for programming, and don't think is a bad thing, quite the opposite. As a social measure, SO is hitting the jackpot, giving spaces for those who didn't have any.
I, personally, would focus more in teaching real life English, i.e. speaking the damn thing in the first place, focus on real life situations, and what not. SO should think this measure is only a patch, in some form. Is not, and it shouldn't be think of as a solution.
Adoption of English language is one of the major reasons, why 3rd world countries like our, India and Pakistan are thriving in IT. I feel sad for nations, who are stubborn in their adoption of English language, merely out of political reasons. Even from a political perspective, this is sad, because you can't convey your point of view to others.
Not to disagree, but India and Pakistan are also great demonstrations that even if you can speak the words without cultural context you'll struggle. By far the most successful teams I've seen in India have been led by those that were educated in the west and went back to India (seemingly a growing trend), since they can effectively act as translators of intent.
> I feel sad for nations, who are stubborn in their adoption of English language, merely out of political reasons. Even from a political perspective, this is sad, because you can't convey your point of view to others.
Do you play music? I feel sorry for all those countries who are stubborn in their adoption of Italian, for whom "da Capo al fine" or simply "Largo" are rote words to memorize rather seeing them in an Italian context. Even from a political perspective, this is sad, because you can't convey your point of view to others.
See how ludicrous this sounds? Yet indeed, just like our programming languages use "if" "case" "return" et al ("et al" is a Latin abbreviation by the way), music uses Italian keywords. Yet it's perfectly reasonable to read source code in French with anglicisms like new String scattered perfectly comprehensively throughout. It doesn't inhibit the programmer at all.
Now to fully embrace your point: the number of Mandarin speakers (as a first or second language) is probably about 1.3x the total number of English speakers (as a first or second language). The implicit question of the linked article is: "perhaps there is, or soon will be, a larger pool of programming discussion for which YOU are excluded because you, merely out of political reasons, won't learn Mandarin Chinese.
English is by far my favorite language to speak, but I know its limitations and don't always use it even when I can. I've noted that if I'm out with friends who all have multiple languages in common the conversation does not stay in only one of them. In programming or not, I will often read wikipedia articles on the same topic but in different languages. Quality is uneven and the most informative or insightful article is frequently not the one in English.
This is pure bullshit in so many ways. There is no stubbornness. Why do you assume that?
Speaking English is not a magic thing that will remove a country from a bad conditionm, if that's what you're assuming.
Moreover, other countries like India and Pakistan may have other pressing issues to solve before learning a second language (e.g. sanitation, education, etc).
Or they might not need it at all! Their country or region might be advanced enough or self-sustaining that they don't need to hook in the US-fueled economy that much. East Europe? Japan?
India and Pakistan are not "thriving in IT" because of English alone. It's more related to people willing to work for 1/50th of what a US employee would ask for. And the language and technical skills come second usually.
While I agree that it is no stubbornness to not to learn English (there are many factors), though learning it has certainly been better for earning a living for many Indians. It is also great for the world. Had the mathematicians like S.N. Bose, Ramanujan not known English as their second/third language, the whole world would have been at loss. India doesn't have a 'national language' which everyone must learn. English helps them (Indians themselves) stay connected and to be able to converse.
Same goes with the world. If there is a global language everyone speaks, it's good for everyone.
Though I think English is a bad choice for being the 'global language', but here we are, with it being the official language of most countries in the world.
I see English as more of a liability for a country like India. Only 10% of the Indian elites have any sort of proficiency in English. Indians never developed an 'infrastructure' around their native language like China did, which results in a debilitating problem for India. There is a big language barrier in India. A poor Chinese kid doesn't need to learn a foreign language to be hired as a full time programmer. But in India, unless you have a working proficiency in English, say goodbye to any chances of being hired as a programmer. Say goodbye to any real possibility of using a computer. Say goodbye to the possibility of understanding any real biochemistry. In India, I can't take a guy from the streets, give him 2 days of training and ask him to do some work on a computer. I'll have to spend 2 months with him, teaching him a new language.
Thus now there are two Indias, the 80-90% non-english speaking India, and the 10-20% english speaking elite India. And the language barrier makes it that much harder for the under-privileged India to cross over to the other side, which is not the case in China or Japan.
In 10 years, the kind of language used for human communication will become irrelevant. Thus, I hope that the Indian problem won't last very long.
>> A poor Chinese kid doesn't need to learn a foreign language to be hired as a full time programmer
Not really true.
English proficiency is a very important factor in job hunting in China also. Most of the good programmers I know have certain level of mastery in english, at least in reading. For sure, China has its own internet ecosystem, the same applies for the programmer community. But English is still the dominant language in computer science, a fact that will not be changed in near future.
China has its own english proficiency test, called "四级", literally "Level 4" or officially CET4 Test. It is required for all college students to pass this test when graduating, a huge pain for many. And we are not done
:a higher level test, "六级"(Level 6, CET6) awaits for whoever wants to show better than average english fluency. Which makes thing worse, high score in those tests doesn't really guarantee real-world good english ability, so additional tests will be taken by companies themselves to make sure the candidates meet their requirement.
In Denmark and Netherlands, they use almost the same letters than in English. In Japan, China and Russia, they use other scripts, so the names are more difficult to Google unless you use some kind of transliteration or nickname.
This is absolutely true, and undoubtedly a barrier to communication. It's also a complete non-starter as an argument in favor of a Portuguese SO site, so I really have no idea what it's doing in the article.
It would be pretty sweet if they have some process of linking duplicate questions between the two, or if bilingual folks could ask questions in multiple languages. Translating questions and/or answers could be as valuable as answering questions.
With a few friends, i've been running a ruby bulletin board in german and found that there is a definite need for localized assistance.
While quite a few people can read english docs okay, it is far harder to ask proper questions and interact with people. There is always need for clarification. Assistance is far easier without a language barrier.
instead of starting a brand new stack overflow in another language they should think of some way of letting people translate questions & answers and earn karma for that. this way, like wikipedia, you can always go from one language to another for the translation
If someone asks a question on the Portuguese then it would be easy for an English and Portuguese speaker to search the English site for the answer and then post to the Portuguese site and earn their karma.
This is a GREAT idea, one of the best features of wikipedia for the multilingual-ed is you can see the same topic in a different language with single mouse click.
I was thinking the same thing, this would be a great feature.
You could get a few percentage of the karma of the original poster when the question/answer gets upvoted in the language you wrote it (And the original poster would get the karama too).
The karma would have the same value across all languages.
Users should be able to approve translations though
Because knowing not to write a bubble sort or fizz buzz implementation in Modula-2 without googling for some language reference makes you so much better.
SO is a part of a developers every-day life, like it or not. This is not the 90s anymore, we have knowledge at our fingertips, we should access it and deliver that product or whatever is we're working on faster, without getting stuck in stuff that can be solved with one google search.
Even if he happened to be right about his contention, this isn't the point at all. The question here is, "Should a programming service be offered in a language other than English?" Whereas ESR is claiming, "Programmers should learn to write English proficiently."
Imagine, if you will, that Silicon Valley is THE place to live if you want to be a programmer. Alice has job advice: "Move to Silicon Valley."
Now imagine that Bob wishes to open a hackerspace code+cafe in New York. Should we really tell him that this is a bad idea? Is it somehow a terrible idea to help programmers who chose to ignore Alice's advice to be productive? Is it somehow undermining TheGrandPlan™ to support a programmer in New York City?
Are we "fragmenting the hacker community" by opening a cafe in NYC?
I can't think of any good reasons not to make Stack Overflow available in Portuguese. And any or every other language. An argument to keep SO English-only might as well be accompanied by an argument that there should be no conference talks in any language except English, no programming books in any language except English, and no help or online documentation in any language except English.
So why start a duplicate place for knowledge? Seems much simpler to integrate a translation system into the canonical English database. Existing entries can be translated into other languages and then improved upon. Hell, you could automate the entire first step and then crowd source the improvements.
If the only goal was to present what exists in other languages, this would be a great idea. Your suggestion results in translations for all the people searching for content in a language other than English. But it doesn't allow those people to participate in return. You need the community of PT speakers to succeed (which is the whole reason we have separate sites for different topics, and the reason why we believe our model is better for expert answers than Yahoo Answers, Quora, et al).
A really bad idea. Now a really good answer or tip that would otherwise be on the 'regular' stackoverflow (albeit in broken English) will remain, unknown, on a 'pt.overflow.' That is one drawback. Another drawback, an English only stackoverflow helps a Portuguese speaking person to learn another language that is, now, more universal. Yet another, it fractures an otherwise more unified community.
My mother tongue is Spanish, yet I have no issues with an English only stackoverflow, at all.
> * Now a really good answer or tip that would otherwise be on the 'regular' stackoverflow (albeit in broken English) will remain, unknown*
This assumes that, had the Portuguese site not existed, the question would have been answered on the English site. There is also the possibility that the question would not have been answered at all.
Have you ever encountered something, sometimes, that you know doesn't click, but can't explain why? I really think this is a bad idea, and somehow, a waste of resources, a repetition of things. But...
It will affect me little if I pretend it doesn't exist and continue using stackoverflow as I have been until now. Just ignore 'the news' and move on.
> My mother tongue is Spanish, yet I have no issues with an English only stackoverflow, at all.
Someone who knows English has no problem with an English only Stackoverflow. Amazing.
The fact that non-native English speakers might prefer English only sources is a red herring; they already know English. Of course perusing English sources makes more sense to us; we already know English to such degree that communicating in it is about as painless as communicating in our native tongue, and focusing mostly on English sources gives is a looot more meaty information. I could read some Wikipedia article in my own tongue, or I could get 5 times more information of perhaps higher quality by reading it in English.
In the ever growing globalized world, learning english is essential and it doesn't really matter what's your native language.
I think this might increase the mixed language coding that is almost a norm in Brazil.
It's perfectly fine to write code in your language, but you're just limiting the amount of people that can read you code. You might never want a remote worker from outside your country but you can't really predict the future.
The side effect of this is less people actually attempting to learn english, resulting in tons of mixed language code that's just horrible to read, even for the people that do speak the native language.
I can't count how many times I've encountered horrible half-english half-portuguese variable/method names that are impossible to understand.
I like it. I wish there was a reference to Orkut worked in there. That social network thrived for a long time purely because a couple Brazilian open source celebs latched on to it.
As a non-native English speaker, I have pretty strong feelings about English in engineering in general: everyone should just learn English.
I see it as a remarkably good thing that engineering (and to some extent science) has standardised so much on English and I can only hope that all other walks of life will as well.
It would be so nice if everyone on earth spoke excellent English.
And your dad's alternative would be what? To balkanize science and engineering? To create dozens of separate islands of knowledge? To slow the spread of knowledge, because everything deemed significant has to be translated to and from 20 languages to gain general currency?
How is one or even a thousand persons' inability to learn another language an argument for how science should be practiced?
The assumptions, the arrogance, the blame passing, the lack of understanding of contexts not your own... You are basically impling all non-english speakers should be so very ashamed that they are holding back broad human progress with their stupid insistency in continuing to use their native tongue. Which I find absurd. (Btw, I only speak English).
As technologists, maybe we could find solutions that, ya know, don't force massive, life altering requirements on billions of people?
Science and engineering are already "balkanized" by language -- at least with respect to Mandarin, Russian, and German.
I remember in uni taking "German for technical and scientific reading" courses just for that purpose. It make much more grow the communities than shut most people out because they don't speak English.
> As a non-native English speaker, I have pretty strong feelings about English in engineering in general: everyone should just learn English.
As another non-native: ditto. Free English courses for Portuguese-speaking people would be more beneficial I think. (Why free? Well the Portuguese site is free too.)
Sure, I'm not arguing against efforts to help people learn without English. But I do think such efforts should be seen as a stepping stone to the "real thing", which is the English-speaking community.
My personal wish is that children be taught English early enough so that this doesn't become an issue. I am quite grateful I started when I was 5 or 6.
Programming specific I think is easier in English.
I speak 3 languages and understand 4. Talking about programming, computer science and technology in non-Engish is awkward. It either is necessary to just use English terms anyway for every other noun or struggle with awkward translation of them.
Things like kernel, doubly linked list, hash table, binary tree, greedy algorithm, they are all invented in English and when translating them to other languages, they have a translation but it just sounds very awkward.
So you can have 2 people talking and one uses all translated terminology one uses the "native" equivalent. And yeah if both happen to speak English they'll understand what they mean, but if they don't then they might as well speak different languages. But if they already speak English and it is a public forum, might as well try to speak English.
Perhaps the point isn't so much the translation of technical jargon, but the ability to discuss meaning and explain nuances. If you work in say, a Japanese environment, you might well pepper your Japanese conversation with terms like "kernel", "hash table", but the sense of your conversation is mostly contained within the Japanese portion of the vocabulary used.
I wonder how corporate programmers in non-english speaking countries communicate about programming. I would imagine that they use their local language for docs, commit descriptions, email lists, etc.
I think most of the source code people can look at is for open source projects and they always go with english as the default even when there are mostly non-english speaking programmers.
But what does it look inside private corporations?
> But what does it look inside private corporations?
In my experience (technical companies in countries where German is the main language) most of them use either English straight away or their native language mixed with a lot of english nouns. I never ever saw someone translating "commit" for example.
Yeah in Indonesia at least we just use them straight away. It's because not only it sometime hard to find synonymous meaning in our native vocabularies it also not sound as natural when you translate them. Everybody understand them anyway if you said them in English.
I think that's hugely dependent on the country. For languages with relatively few speakers translating (technical) texts into English is relatively more expensive, so people have to read more English to read e.g. books on programming. That makes them more proficient in reading English, thus decreasing the market for more expensive translations, leading to fewer translations, etc.
Learning programming from English texts will affect choice of variable names, function names, etc.
Dijkstra is a counterexample (http://en.wikipedia.org/wiki/Semaphore_(programming)#Functio...), but that was in 1965, when there weren't hours of subtitled English-language television each day, or thousands of programming texts that were only available in English.
I went to a Czech computers science college for a year (on Saturdays only), and people here usually use the English terms. Oftentimes there's both a Czech term and an English one and people will just use the English one because everyone saw it like that in the documentation. Sometimes they would pronounce things in a very funny way--like one of my professors would always say `eunich` instead of `unique`, or `byten` instead of `python`. It took some additional mental energy on my part to process that. (I'm actually Czech, but I'm used to native English much more than I am to Czech English).
I've worked for a Taiwan-based company for years. It's a somewhat multilingual society, but the default in workplaces is, of course, Mandarin, and English proficiency of the overall population is lower than you might expect (and than many would like; there's been a push for better English education in public schools lately).
In this company, at least, you would imagine somewhat inaccurately.
I speak English and three or four words of Mandarin. Their English proficiency ranges from equal to my Mandarin to almost idiomatic American English (a few having spent between a couple years and half or more of their lives working and/or studying in the US).
For live conversations, "English" technical terms are just a given, even for those who I can't even hold an minimal English conversation with. There are "translations" of things like "pointer", "file", "hard drive", etc.. They don't use them. Those most fluent in English engage in more significant code switching, with entire sentences or large sentence fragments in English.
I can sometimes extract significant meaning from conversations that are not otherwise in English because of this. They are frequently surprised by this, because they don't even think about it. These parts of English have simply been incorporated into a sort of programmer's dialect, it is part of their "native" language now.
Those who are most fluent in English, however, have told me they sometimes find it easier to have technical conversations entirely in English. I've heard two different reasons given for this, sometimes by the same person. One is the most obvious: This industry basically originated in English-speaking countries, so it's built on the assumption of English. The second is probably more locale-specific: Mandarin is apparently less precise and/or concise than English. One person described it as more "flowing" or "stream-of-consciousness", another as "based on feeling". Maybe not ideal for a field where precision is critical.
Documentation follows a similar pattern. The more comfortable they are in English, the more likely they are to use English, at least in part, in documentation. Commit messages, interestingly, are much more likely to be in English than Chinese.
Within code, APIs, and file formats, identifiers are almost invariably in English. Sometimes strange English, but English nonetheless. I imagine this would be less the case if we'd had UTF-8 source code 30 years ago, but it's where we are now. Filenames are also usually in English.
Comments are another mixed bag. Some developers whose English is very poor nonetheless comment exclusively in English, others use primarily Chinese. Again, the more fluent are likely to comment entirely in English. (This assumes the existence of comments at all, of course.)
Obviously when they specifically intend for me to read or deal with something, or are modifying code I wrote, everything is in English, but that's a fraction of what goes on in R&D.
Language is English. English docs, English presentations.
Meetings are done in German unless a non-German sits in. Then, it is done in English.
I can't even begin to explain how awkward it is to see source code once in a great while where the dev used German words as variable names. Good luck trying to get a colleague to understand what'S going on if he doesn't speak German.
In short, you write in English so the lion share of the world can read it. And if people really have a question, they should be able to express that in English. What good does it to post that question in a language that can only be read by a fraction of the developer community?
And with that in mind, I also expect others, like Chinese devs to hand over source code with English variable and class names. Otherwise, again, who do they expect would be able to work with the code if the naming of things don't make sense?
There is a book http://www.coding places.net/ about among other things language and software in Brazil. It depends on the audience with open source being more English. But it does vary by country, China seems much less English in usage.
Personal experience: weird jargon is a good thing. I've read a book on Hadoop once and it didn't use weird jargon - everything was in my native language. It was super hard to read - basically I needed to translate the book from my native language into English in my mind.
I have worked solely in small development shops and startups in Sweden. I none of them was the usage of swedish in commits, documentation or code acceptable and in most it was outright forbidden. Very rarely have there been developers who did not speak swedish, still english was the de facto language for everything. Where I currently work the policy is that only fleeting conversations may be conducted in another language than english.
In my opinion this is they way it should work everywhere, code in any other language than english is not acceptable.
Exactly. My native language is not English (it's Lithuanian) but when I talk about some rather hard-core topics (such as embedded systems), I just say that I will switch to English and continue talking in English. Because a mix of 70% English and 30% Non-English words is just annoying. When talking about general programming, nothing too deep, I am fine with my native language. You might think I am an arrogant ass hole, but...
If I am talking with another person that speaks my mother tongue I'd rather keep just the nouns awkward instead of making the whole conversation sound awkward. TBH, keeping jargon untranslated is not that big of a deal. Jargon is its own separate vocabulary - its not as if a non-techie english speaker will know what you are talking about if you mention a kernels or a data bus.
I am an immigrant from China and I came to the States after finishing sixth grade so I can still read and write in Chinese. Perfectly excellent. The advantage of that is I can utilize more resources that are only available in Chinese. You'd surprise how often Chinese programmers leave useful code snippets or tips in Chinese. So knowing a foreign language can definitely help.
While I agree having a non-English version helps growing the community (as pointed out in the article it could help a young girl to get started), but I am worrying about fragmentation. Also, SO tends to be pretty strict about the way a post is written - so a little girl who is making a post will either be closed or forced to edit. I don't know - it is as if I want people to take the hard route because it can benefit them in the long run.
I really have a mixed feelings about this too.
Side note:
That probably limits the list of potential candidates to Mandarin, Japanese, Portuguese, Russian...
Hmmm it's Chinese since people write in Chinese characters. Mandarin is a dialectic.
A point of clarification: the new site has intentionally relaxed rules. SO is a mature site that can afford to have stricter criteria, but pt.so is still in its infancy and the protocol is growing to meet the needs of the community that forms there.
> SO tends to be pretty strict about the way a post is written - so a little girl who is making a post will either be closed or forced to edit.
Questions are only closed if nobody can understand them, not because of grammar. So this little girl wouldn't have gotten her question answered regardless of whether the question was closed, simply because it wasn't clear.
If grammar is lacking but it's understandable, people will either leave it be or edit it to upgrade the English. At least, that is my experience on the IT Security StackExchange site (the only one I'm really active at).
This is odd, but I've noticed that technical Chinese blogs auto-translate really well. I used to follow erlang-china.org, and rarely had a problem with understanding.
I have no idea how well it works the other way though, so my comments were all bare links.
A Chinese friend of mine guessed that it has something to do with how most Chinese words are built from other Chinese words, and the specificity of technical terms made the translations really easy and unambiguous. He explained it better than I just did:)
Yes the translation is not bad at all, but to search that content in the first place? You probably want to know how to type Chinese :) and know how to master search in Chinese.
If you are from HK, people often write with cantonese slang words (it's like someone writing ya'll instead of you all - that sort of thing). Translation is not as good as translating formal Chinese writing :) but that's a minor thing.
I can understand 1/3 of the Japanese websites by knowing Kanji. And if you know English then you have the door to any language share the latin root.
This is great, and I think multilingualism is something we should encourage amongst dedicated developers. I mean, it's not like we don't already have to learn a variety of languages already.
I personally get a kick out of communicating with people in other languages. It almost seems like a super power.
> I think multilingualism is something we should encourage amongst dedicated developers.
Why in the world would you do that? Languages are the biggest timesuck in the history of humanity. How can you build knowledge together if you can't even communicate with one another beyond drawing a square rectangle in the sand? We finally got around to doing counting in, well, mostly one universal system, but languages are still a major PITA for everyone involved.
Sure it may be fun and great for you that you get a kick out of it, but the existence of different language for the sheer fun of it is about as useful as forcing entire nations to play violin.
> I mean, it's not like we don't already have to learn a variety of languages already.
Uhm, no? I know English and my native language (Dutch) and that is more than enough. The only language I had to learn besides my own was the one that most of us on here see as the universal one: English. And for all I care the Dutch language can die a quick and silent death.
> Why in the world would you do that? Languages are the biggest timesuck in the history of humanity.
A language not only express the ideas of the speaker, it also carries a lot of historical and cultural data, I love learning new languages even if I don't become proficient in that language. Being said that, I don't think it's a good idea for non-native Portuguese speakers to ask/answer questions in pt.so
> Uhm, no? I know English and my native language (Dutch) and that is more than enough. The only language I had to learn besides my own was the one that most of us on here see as the universal one: English. And for all I care the Dutch language can die a quick and silent death.
I'm a native Spanish speaker, being the second language with most native speakers in the world only behind mandarin, why would I settle just with English?, Spanish is more useful for me in all other activities of my life, I only use English on the Internet, even my Brazilian boss is a fluent Spanish speaker.
I've never explicitly studied Spanish, but apparently I've been exposed to it enough in the US that I was able to get through a recent trip to Ecuador without too much trouble. It was easier to read than to try to speak, as I could generally figure out the context of sentences based on key words and shared Latin influences with English. I actually found billboards to be the hardest to understand, which I guess makes sense. Billboards tend to use incomplete sentences and made up words to try to get their point across quickly.
It was just a lot of fun. Several months ago, I started learning Russian. Once I got over the hurdle of the alphabet (again, I had actually once studied it in grade school), I realized that I could figure a lot of things out as I went.
So I take it you code in PHP and don't understand the necessity to have other programming languages.
Learning another language is a foundational step towards becoming a better communicator. And software development is fundamentally about communication. Even if you don't need the other languages you learn, you are still a better developer for having learned it.
And yes, I see no point in differentiating on a fundamental level between human and computer languages. The end goal is the same: to communicate.
EDIT: I also think it is inexcusable for a software developer to not be an extremely competent writer of their native, spoken language. If you can't express yourself with clarity and without ambiguity in your native tongue of English/Russian/Japanese/Dutch/etc., then you have no business writing code in your non-native tongue of Java/Ruby/Python/C/etc.
> So I take it you code in PHP and don't understand the necessity to have other programming languages.
New programming languages are an effect, not a cause; they're designed as improvements on existing ones, and even quite disparate programming languages share a lot of common vocabulary. When a particular programming language is experimenting with a new paradigm, or is the best language for particular circumstances, it lives, but old, obsolete languages are allowed to die. Many natural languages offer no advantages over the alternatives, and should be allowed to die in the same way.
> Learning another language is a foundational step towards becoming a better communicator. And software development is fundamentally about communication. Even if you don't need the other languages you learn, you are still a better developer for having learned it.
Learning another language is a horribly inefficient way to improve your communication ability. A lot of it is just rote memorization, or internalizing categorizations that made sense at some point in the last thousand years.
> I also think it is inexcusable for a software developer to not be an extremely competent writer of their native, spoken language. If you can't express yourself with clarity and without ambiguity in your native tongue of English/Russian/Japanese/Dutch/etc., then you have no business writing code in your non-native tongue of Java/Ruby/Python/C/etc.
But many of those programming languages are better for thinking in than the corresponding human languages. A huge amount of the development of mathematics, what lets us solve problems at the undergraduate level where it used to take a genius to even find a few special cases, was simply coming up with the right notation for things.
People barely now this, but theres a social inclusion aspect by creating the portuguese version of StackOverflow.
In Brazil, at least, only the kids of wealthy families have access to private english courses..
In regular school its just too weak to make a difference.. and of course there are the self-taughts.. a minority..
So, there are a very good social inclusion aspect in all of this.. make the rookie programmers start with the portuguese version.. then maybe they will just hit the english with time.. imposing a language barrier is a sort of elitism that will create a virtual barrier that doesnt do good to anyone..
I dont know why people rant about it, since all the good content is already in english language..
Allow even more people to enter into the technology world is a good thing.. let them learn english later, when theres a need..
This! People aren't realizing that in a lot of countries, english classes in the normal school system are a joke. And there are many people that don't have the resources to go to college or private classes to learn this. I have some young friends in Mexico that don't even have assurance of their next meal and would like to learn some skills to help land a better job than washing cars, but they're stuck. It's a catch-22 and having programming information and curriculum in their native language would remove one more barrier to them getting out of that situation. It'd also help me teach them since I wouldn't have to translate so much.
> Only 4.8% of our visits come from China, Japan and Korea combined
> So, if the data tell us that we’re getting roughly 80% less activity from Asia than we should in the absence of language constraints, why does it feel so obvious that all serious programmers speak English?
That data says it's less. It doesn't say the reason why is language constraints.
p.s. With or without this data, sure, it's obviously false that "all serious programmers speak English", and obviously true that some more people will participate using their native language.
When I first started, I used to hang out and ask questions in one of the major Chinese programmer forums.
I knew some English back then, but looking at a wall of English text was daunting in itself, now imagine a wall of English text that is not easy to understand even for native English speakers.
Oh I'm totally sympathetic and think it's great to have it in more languages.
I just didn't understand their logic. They seemed to say, the only thing holding back those 80% is the language barrier, and once we break it, the numbers will shoot up. Well maybe. But it reminds me of circa 1999 market math: "If get just 1% of the Chinese market..." says someone, followed by investors taking a haircut as a result of lame business plan.
Ah, I missed the identical users. That is an interesting situation, especially if a user might be fluent in both languages (which may or may not be the case in this situation).
259 comments
[ 2.9 ms ] story [ 258 ms ] threadWas I the only one expecting some comment about planning a bot to translate non-English StackExchange sites to English when glancing over the comment thread and seeing your comment? (I was!)
Many Ruby developers won't have a problem with this.
The score of people here saying "Matz" somewhat underscores the issue.
Kind of like how I wouldn't be able to memorize 10 Swedish names as easily as I could British names.
I'll remember a name like John Carmack much more easily than a name like Jonatan Söderström or Keiji Inafune.
EDIT:
Yup I was way off. It's Yukihiro Matsumoto haha
In any case, I'm not really sure what the aim of the challenge was. Most anybody could probably name at least one non-native-English-speaking developer— Bjarne Stroustrup and Guido van Rossum both come to mind, maybe because I've got language developers on the brain. The only reason I can think of to restrict it to Japanese/Chinese/Russian developers is to use only nations with non-Latin character sets— which is a weird reason, and isn't a very compelling argument in favor of Portuguese localization.
Waldemar Celes
Luiz Henrique de Figueiredo
The folks behind Lua (programming language)
And yes, the three names I listed are all Brazilians.
My interpretation is that they wanted a programmer from a non-latin script language.
I mean, Matz obviously knows English.
Japan: Junya Ota (more known as ZUN, the author of Tohou series). Russia: Nikolay Likhachev (aka Kris Kaspersky) China: whoever made Baidu, can't remember their name without googling :)
Yup, totally centralized. Spent half an hour figuring out where my question should go (StackOverflow vs Programming vs ServerFault vs SuperUser vs Ubuntu vs Unix-and-Linux). Ended up not asking the question at all.
Shall they open some foreign embassies, I guess users'll spend 10 minutes more deciding in which language should they ask (i.e. whenever they prefer native language or bigger community) or duplicate the question.
And it's really not that hard in most cases. Is it an objective question about writing code? It goes on Stack Overflow. Is it about programming as a broader topic? It goes on Programmers. Is it about servers or systems administration? It goes on ServerFault. Is it about general computing? It goes on SuperUser. Is it a highly subjective question about programming? Stack Exchange is not interested in your question.
(I do agree that SO and Programmers seem more like an artificial division than natural categories, but I still don't find it that hard to figure out whether a question is good for SO.)
That would depend on why help was needed--is it a problem with expressing a certain programming concept in Bash? or with portability across various Unixen? Or with the proper way to invoke some server managament program?
If someone genuinely doesn't know which stackexchange community has the most relevant expertise to help with a problem, there's a mechanism in place to handle that; just post a question somewhere and see if it gets migrated or closed as "belongs on xxx".
There is also some overlap, so if you have a question about Ubuntu you can also ask it on Unix&Linux.
The important point is that the moderation should encourage the participation of the not native speakers. If someone post a good question or answer with a few grammatical mistakes, then the expected behavior should be to fix the text and not mock the author.
If you feel like wanting to give back to the community, answer in your native language site, if it exists.
[Disclaimer: I’m a native Spanish speaker, ES-AR to be more precise.]
So on the one hand if the culture of programming is in English (is it?) then I would strongly encourage anyone wanting to program to learn English. On the other hand, helping inject a programming environment into another language seems a worthy goal as well. On balance it seems like stackoverflow is doing the right thing.
Since being able to ask difficult, technical questions in your native language would make it easier to learn, I don't see what's so bad about that. Yes, it fragments the community, but it also recognizes that the world is not English only. Right now there's large Chinese, Russian, Japanese, and French communities that are second-class citizens without a tool like Stack Overflow.
That's how I played all games as a kid :) Civilisation + dictionary FTW
It's more difficult to try to learn one ignoring the other IMO. I had collegues that didn't care much for english, but it was surprising how good they were at parsing other people's code and understand how libraries and APIs worked with very few hints.
For example, a "stack" or a "filter" or a "queue" all have specific meanings outside of programming, their nature hints at how they work, even if the technical meaning is obviously different.
Not knowing what any of the things were leaves you with a hazy concept of what they are until you understand their English analog.
I still think it makes sense to try and explain concepts in the language in which one is most proficient, then worry about English later.
And that is the whole point of this article; there already is a lot of programming culture that we simply don't know about because those people don't hang out on HN. They deserve a StackOverflow, too :)
In most of Latin America, English lessons are not something important for most people, because the actual chance to go abroad for work and actually speak the language is non existent. And that has to do with the nature of the jobs here. Having said that, I've notice that at least in Chile, and particularly in the startup/software development sector, this is changing at very quick steps, I'd presume it's the same in the rest of Latin America.
So, it's only natural that we have one language for programming, and don't think is a bad thing, quite the opposite. As a social measure, SO is hitting the jackpot, giving spaces for those who didn't have any.
I, personally, would focus more in teaching real life English, i.e. speaking the damn thing in the first place, focus on real life situations, and what not. SO should think this measure is only a patch, in some form. Is not, and it shouldn't be think of as a solution.
Oh and by the way, India is 2nd and Pakistan is 3rd largest country by number of English language Speakers, 1st of course is USA. http://en.wikipedia.org/wiki/List_of_countries_by_English-sp...
Moreover, Do I need to name key Google and Microsoft Employees, who were born and bred in India too. :)
Do you play music? I feel sorry for all those countries who are stubborn in their adoption of Italian, for whom "da Capo al fine" or simply "Largo" are rote words to memorize rather seeing them in an Italian context. Even from a political perspective, this is sad, because you can't convey your point of view to others.
See how ludicrous this sounds? Yet indeed, just like our programming languages use "if" "case" "return" et al ("et al" is a Latin abbreviation by the way), music uses Italian keywords. Yet it's perfectly reasonable to read source code in French with anglicisms like new String scattered perfectly comprehensively throughout. It doesn't inhibit the programmer at all.
Now to fully embrace your point: the number of Mandarin speakers (as a first or second language) is probably about 1.3x the total number of English speakers (as a first or second language). The implicit question of the linked article is: "perhaps there is, or soon will be, a larger pool of programming discussion for which YOU are excluded because you, merely out of political reasons, won't learn Mandarin Chinese.
English is by far my favorite language to speak, but I know its limitations and don't always use it even when I can. I've noted that if I'm out with friends who all have multiple languages in common the conversation does not stay in only one of them. In programming or not, I will often read wikipedia articles on the same topic but in different languages. Quality is uneven and the most informative or insightful article is frequently not the one in English.
Speaking English is not a magic thing that will remove a country from a bad conditionm, if that's what you're assuming.
Moreover, other countries like India and Pakistan may have other pressing issues to solve before learning a second language (e.g. sanitation, education, etc).
Or they might not need it at all! Their country or region might be advanced enough or self-sustaining that they don't need to hook in the US-fueled economy that much. East Europe? Japan?
India and Pakistan are not "thriving in IT" because of English alone. It's more related to people willing to work for 1/50th of what a US employee would ask for. And the language and technical skills come second usually.
Though I think English is a bad choice for being the 'global language', but here we are, with it being the official language of most countries in the world.
Thus now there are two Indias, the 80-90% non-english speaking India, and the 10-20% english speaking elite India. And the language barrier makes it that much harder for the under-privileged India to cross over to the other side, which is not the case in China or Japan.
In 10 years, the kind of language used for human communication will become irrelevant. Thus, I hope that the Indian problem won't last very long.
Not really true.
English proficiency is a very important factor in job hunting in China also. Most of the good programmers I know have certain level of mastery in english, at least in reading. For sure, China has its own internet ecosystem, the same applies for the programmer community. But English is still the dominant language in computer science, a fact that will not be changed in near future.
China has its own english proficiency test, called "四级", literally "Level 4" or officially CET4 Test. It is required for all college students to pass this test when graduating, a huge pain for many. And we are not done :a higher level test, "六级"(Level 6, CET6) awaits for whoever wants to show better than average english fluency. Which makes thing worse, high score in those tests doesn't really guarantee real-world good english ability, so additional tests will be taken by companies themselves to make sure the candidates meet their requirement.
Yukihiro Matsumoto. Rasmus Lerdorf. Guido van Rossum.
1/3
For example, there was a very important Russian mathematician Чебышёв, every book transliterates his name in a different way: http://en.wikipedia.org/wiki/Pafnuty_Chebyshev
While quite a few people can read english docs okay, it is far harder to ask proper questions and interact with people. There is always need for clarification. Assistance is far easier without a language barrier.
If someone asks a question on the Portuguese then it would be easy for an English and Portuguese speaker to search the English site for the answer and then post to the Portuguese site and earn their karma.
You could get a few percentage of the karma of the original poster when the question/answer gets upvoted in the language you wrote it (And the original poster would get the karama too).
The karma would have the same value across all languages.
Users should be able to approve translations though
While I've never had anyone tell me that, I don't think I'd be happy to hear that in an interview.
SO is a part of a developers every-day life, like it or not. This is not the 90s anymore, we have knowledge at our fingertips, we should access it and deliver that product or whatever is we're working on faster, without getting stuck in stuff that can be solved with one google search.
edit: spelling
Imagine, if you will, that Silicon Valley is THE place to live if you want to be a programmer. Alice has job advice: "Move to Silicon Valley."
Now imagine that Bob wishes to open a hackerspace code+cafe in New York. Should we really tell him that this is a bad idea? Is it somehow a terrible idea to help programmers who chose to ignore Alice's advice to be productive? Is it somehow undermining TheGrandPlan™ to support a programmer in New York City?
Are we "fragmenting the hacker community" by opening a cafe in NYC?
I can't think of any good reasons not to make Stack Overflow available in Portuguese. And any or every other language. An argument to keep SO English-only might as well be accompanied by an argument that there should be no conference talks in any language except English, no programming books in any language except English, and no help or online documentation in any language except English.
Because any language other than English is brainfucked in string support.
There, I said it.
Honestly you wouldn't want to translate all of SO anyway, there is a lot of cruft when you build up a huge database of information.
My mother tongue is Spanish, yet I have no issues with an English only stackoverflow, at all.
This assumes that, had the Portuguese site not existed, the question would have been answered on the English site. There is also the possibility that the question would not have been answered at all.
Have you ever encountered something, sometimes, that you know doesn't click, but can't explain why? I really think this is a bad idea, and somehow, a waste of resources, a repetition of things. But...
It will affect me little if I pretend it doesn't exist and continue using stackoverflow as I have been until now. Just ignore 'the news' and move on.
Someone who knows English has no problem with an English only Stackoverflow. Amazing.
The fact that non-native English speakers might prefer English only sources is a red herring; they already know English. Of course perusing English sources makes more sense to us; we already know English to such degree that communicating in it is about as painless as communicating in our native tongue, and focusing mostly on English sources gives is a looot more meaty information. I could read some Wikipedia article in my own tongue, or I could get 5 times more information of perhaps higher quality by reading it in English.
Yet again, if it was up to me, I would set Latin or Esperanto as a 'universal' language and be done with it. :-)
In the ever growing globalized world, learning english is essential and it doesn't really matter what's your native language.
I think this might increase the mixed language coding that is almost a norm in Brazil.
It's perfectly fine to write code in your language, but you're just limiting the amount of people that can read you code. You might never want a remote worker from outside your country but you can't really predict the future.
The side effect of this is less people actually attempting to learn english, resulting in tons of mixed language code that's just horrible to read, even for the people that do speak the native language.
I can't count how many times I've encountered horrible half-english half-portuguese variable/method names that are impossible to understand.
Hope I'm wrong tho.
I see it as a remarkably good thing that engineering (and to some extent science) has standardised so much on English and I can only hope that all other walks of life will as well.
It would be so nice if everyone on earth spoke excellent English.
How is one or even a thousand persons' inability to learn another language an argument for how science should be practiced?
As technologists, maybe we could find solutions that, ya know, don't force massive, life altering requirements on billions of people?
It's not hard to speak at least two languages and one of them should be English.
There is no solution as good as the whole world being bilingual.
I remember in uni taking "German for technical and scientific reading" courses just for that purpose. It make much more grow the communities than shut most people out because they don't speak English.
As another non-native: ditto. Free English courses for Portuguese-speaking people would be more beneficial I think. (Why free? Well the Portuguese site is free too.)
But while people don't learn English (what takes years), they shouldn't just stop all their other learning.
My personal wish is that children be taught English early enough so that this doesn't become an issue. I am quite grateful I started when I was 5 or 6.
I speak 3 languages and understand 4. Talking about programming, computer science and technology in non-Engish is awkward. It either is necessary to just use English terms anyway for every other noun or struggle with awkward translation of them.
Things like kernel, doubly linked list, hash table, binary tree, greedy algorithm, they are all invented in English and when translating them to other languages, they have a translation but it just sounds very awkward.
So you can have 2 people talking and one uses all translated terminology one uses the "native" equivalent. And yeah if both happen to speak English they'll understand what they mean, but if they don't then they might as well speak different languages. But if they already speak English and it is a public forum, might as well try to speak English.
Anyway that is just my perspective.
I think most of the source code people can look at is for open source projects and they always go with english as the default even when there are mostly non-english speaking programmers.
But what does it look inside private corporations?
In my experience (technical companies in countries where German is the main language) most of them use either English straight away or their native language mixed with a lot of english nouns. I never ever saw someone translating "commit" for example.
Except for the big international corporations, most of the stuff tends to be written on the country's language.
Learning programming from English texts will affect choice of variable names, function names, etc.
Dijkstra is a counterexample (http://en.wikipedia.org/wiki/Semaphore_(programming)#Functio...), but that was in 1965, when there weren't hours of subtitled English-language television each day, or thousands of programming texts that were only available in English.
Quite common in Spain, France and Germany to have code in local language, based on my experience working in these countries.
I already worked as code translator a few times, because of it.
Sometimes it helps to be a polyglot of human languages as well. :)
German and French (#11 and #17, at worst) aren't small, either, and have the benefit of having lots of rich speakers.
In this company, at least, you would imagine somewhat inaccurately.
I speak English and three or four words of Mandarin. Their English proficiency ranges from equal to my Mandarin to almost idiomatic American English (a few having spent between a couple years and half or more of their lives working and/or studying in the US).
For live conversations, "English" technical terms are just a given, even for those who I can't even hold an minimal English conversation with. There are "translations" of things like "pointer", "file", "hard drive", etc.. They don't use them. Those most fluent in English engage in more significant code switching, with entire sentences or large sentence fragments in English.
I can sometimes extract significant meaning from conversations that are not otherwise in English because of this. They are frequently surprised by this, because they don't even think about it. These parts of English have simply been incorporated into a sort of programmer's dialect, it is part of their "native" language now.
Those who are most fluent in English, however, have told me they sometimes find it easier to have technical conversations entirely in English. I've heard two different reasons given for this, sometimes by the same person. One is the most obvious: This industry basically originated in English-speaking countries, so it's built on the assumption of English. The second is probably more locale-specific: Mandarin is apparently less precise and/or concise than English. One person described it as more "flowing" or "stream-of-consciousness", another as "based on feeling". Maybe not ideal for a field where precision is critical.
Documentation follows a similar pattern. The more comfortable they are in English, the more likely they are to use English, at least in part, in documentation. Commit messages, interestingly, are much more likely to be in English than Chinese.
Within code, APIs, and file formats, identifiers are almost invariably in English. Sometimes strange English, but English nonetheless. I imagine this would be less the case if we'd had UTF-8 source code 30 years ago, but it's where we are now. Filenames are also usually in English.
Comments are another mixed bag. Some developers whose English is very poor nonetheless comment exclusively in English, others use primarily Chinese. Again, the more fluent are likely to comment entirely in English. (This assumes the existence of comments at all, of course.)
Obviously when they specifically intend for me to read or deal with something, or are modifying code I wrote, everything is in English, but that's a fraction of what goes on in R&D.
Language is English. English docs, English presentations.
Meetings are done in German unless a non-German sits in. Then, it is done in English.
I can't even begin to explain how awkward it is to see source code once in a great while where the dev used German words as variable names. Good luck trying to get a colleague to understand what'S going on if he doesn't speak German.
In short, you write in English so the lion share of the world can read it. And if people really have a question, they should be able to express that in English. What good does it to post that question in a language that can only be read by a fraction of the developer community?
And with that in mind, I also expect others, like Chinese devs to hand over source code with English variable and class names. Otherwise, again, who do they expect would be able to work with the code if the naming of things don't make sense?
I try to limit the amount of this weird jargon, but is extremely easy to fall into that.
PD: This is in Spanish
In my opinion this is they way it should work everywhere, code in any other language than english is not acceptable.
While I agree having a non-English version helps growing the community (as pointed out in the article it could help a young girl to get started), but I am worrying about fragmentation. Also, SO tends to be pretty strict about the way a post is written - so a little girl who is making a post will either be closed or forced to edit. I don't know - it is as if I want people to take the hard route because it can benefit them in the long run.
I really have a mixed feelings about this too.
Side note:
That probably limits the list of potential candidates to Mandarin, Japanese, Portuguese, Russian...
Hmmm it's Chinese since people write in Chinese characters. Mandarin is a dialectic.
That sounds like the complete doom of stackexchange, or that site at the very least. Eternal February.
Questions are only closed if nobody can understand them, not because of grammar. So this little girl wouldn't have gotten her question answered regardless of whether the question was closed, simply because it wasn't clear.
If grammar is lacking but it's understandable, people will either leave it be or edit it to upgrade the English. At least, that is my experience on the IT Security StackExchange site (the only one I'm really active at).
I have no idea how well it works the other way though, so my comments were all bare links.
A Chinese friend of mine guessed that it has something to do with how most Chinese words are built from other Chinese words, and the specificity of technical terms made the translations really easy and unambiguous. He explained it better than I just did:)
If you are from HK, people often write with cantonese slang words (it's like someone writing ya'll instead of you all - that sort of thing). Translation is not as good as translating formal Chinese writing :) but that's a minor thing.
I can understand 1/3 of the Japanese websites by knowing Kanji. And if you know English then you have the door to any language share the latin root.
I personally get a kick out of communicating with people in other languages. It almost seems like a super power.
Why in the world would you do that? Languages are the biggest timesuck in the history of humanity. How can you build knowledge together if you can't even communicate with one another beyond drawing a square rectangle in the sand? We finally got around to doing counting in, well, mostly one universal system, but languages are still a major PITA for everyone involved.
Sure it may be fun and great for you that you get a kick out of it, but the existence of different language for the sheer fun of it is about as useful as forcing entire nations to play violin.
> I mean, it's not like we don't already have to learn a variety of languages already.
Uhm, no? I know English and my native language (Dutch) and that is more than enough. The only language I had to learn besides my own was the one that most of us on here see as the universal one: English. And for all I care the Dutch language can die a quick and silent death.
A language not only express the ideas of the speaker, it also carries a lot of historical and cultural data, I love learning new languages even if I don't become proficient in that language. Being said that, I don't think it's a good idea for non-native Portuguese speakers to ask/answer questions in pt.so
> Uhm, no? I know English and my native language (Dutch) and that is more than enough. The only language I had to learn besides my own was the one that most of us on here see as the universal one: English. And for all I care the Dutch language can die a quick and silent death.
I'm a native Spanish speaker, being the second language with most native speakers in the world only behind mandarin, why would I settle just with English?, Spanish is more useful for me in all other activities of my life, I only use English on the Internet, even my Brazilian boss is a fluent Spanish speaker.
It was just a lot of fun. Several months ago, I started learning Russian. Once I got over the hurdle of the alphabet (again, I had actually once studied it in grade school), I realized that I could figure a lot of things out as I went.
It feels like being Sherlock Holmes or something.
Learning another language is a foundational step towards becoming a better communicator. And software development is fundamentally about communication. Even if you don't need the other languages you learn, you are still a better developer for having learned it.
And yes, I see no point in differentiating on a fundamental level between human and computer languages. The end goal is the same: to communicate.
EDIT: I also think it is inexcusable for a software developer to not be an extremely competent writer of their native, spoken language. If you can't express yourself with clarity and without ambiguity in your native tongue of English/Russian/Japanese/Dutch/etc., then you have no business writing code in your non-native tongue of Java/Ruby/Python/C/etc.
New programming languages are an effect, not a cause; they're designed as improvements on existing ones, and even quite disparate programming languages share a lot of common vocabulary. When a particular programming language is experimenting with a new paradigm, or is the best language for particular circumstances, it lives, but old, obsolete languages are allowed to die. Many natural languages offer no advantages over the alternatives, and should be allowed to die in the same way.
> Learning another language is a foundational step towards becoming a better communicator. And software development is fundamentally about communication. Even if you don't need the other languages you learn, you are still a better developer for having learned it.
Learning another language is a horribly inefficient way to improve your communication ability. A lot of it is just rote memorization, or internalizing categorizations that made sense at some point in the last thousand years.
> I also think it is inexcusable for a software developer to not be an extremely competent writer of their native, spoken language. If you can't express yourself with clarity and without ambiguity in your native tongue of English/Russian/Japanese/Dutch/etc., then you have no business writing code in your non-native tongue of Java/Ruby/Python/C/etc.
But many of those programming languages are better for thinking in than the corresponding human languages. A huge amount of the development of mathematics, what lets us solve problems at the undergraduate level where it used to take a genius to even find a few special cases, was simply coming up with the right notation for things.
In Brazil, at least, only the kids of wealthy families have access to private english courses..
In regular school its just too weak to make a difference.. and of course there are the self-taughts.. a minority..
So, there are a very good social inclusion aspect in all of this.. make the rookie programmers start with the portuguese version.. then maybe they will just hit the english with time.. imposing a language barrier is a sort of elitism that will create a virtual barrier that doesnt do good to anyone..
I dont know why people rant about it, since all the good content is already in english language..
Allow even more people to enter into the technology world is a good thing.. let them learn english later, when theres a need..
> 1.4% of our visits come from China
> Only 4.8% of our visits come from China, Japan and Korea combined
> So, if the data tell us that we’re getting roughly 80% less activity from Asia than we should in the absence of language constraints, why does it feel so obvious that all serious programmers speak English?
That data says it's less. It doesn't say the reason why is language constraints.
p.s. With or without this data, sure, it's obviously false that "all serious programmers speak English", and obviously true that some more people will participate using their native language.
I knew some English back then, but looking at a wall of English text was daunting in itself, now imagine a wall of English text that is not easy to understand even for native English speakers.
I just didn't understand their logic. They seemed to say, the only thing holding back those 80% is the language barrier, and once we break it, the numbers will shoot up. Well maybe. But it reminds me of circa 1999 market math: "If get just 1% of the Chinese market..." says someone, followed by investors taking a haircut as a result of lame business plan.
http://pt.stackoverflow.com/questions/4021/numero-de-vezes-q... http://stackoverflow.com/questions/21550842/amazon-cloudsear...
Corollary: answer "arbitrage" (translating existing answers for duplicated questions).
FTA: "we expect almost every question asked on the Portuguese site to also be asked (and answered) on the English site."
It feels spammy, specially since the English version isn't up to par. I'm not sure this is what they had in mind with that quote.