I've thought about this before, but recently I got triggered to write this, thanks to this image:
(From this post)
You'll notice that the output of npx
is in French (I'm guessing that's @gmartigny's system language). But the output of lyo
is in English. My deduction is that NPM uses internationalised strings, while lyo uses hard-coded English.
I'm not blaming Lyo. Internationalisation is non-rivial work (which languages to support, machine translations vs paying translators, ensuring UI components don't look weird on some languages,...). Personally, I've never worked on an app that supported languages other than English.
So much of the software world uses English as a lingua franca (programming language keywords, documentation, package commands, and the like), to the point where developers who aren't fluent in English still release packages in English.
However, I'm curious. What's it like for developers whose primary language is not English (or who are not fluent in English)?
What's it like to come to a GitHub readme and have to use Google Translate to figure out how to use the package?🤔🤔
The irony that this post is in English is not lost on me.😆
Latest comments (32)
just wanted to say i really appreciate being exposed to this discussion!
At first I tried using software with my native translations, but a lot of terms didn't made much sense. So I opted out to everything English, not a single app I have uses my native language.
It was hard at first, but eventually I got used to English. I got so used to it, that I have challenges discussing IT related topics in my native language.
For sure the non english speaker will be more productive in their native language because it is easier to think in their mother tongue.
My mother tongue is Mandarin. As both English and Mandarin are the languages from different world, often when I read the documentations I have some degree of difficulties on understanding a long sentence, especially when the author can write a very "native" English.
For my case, the difficulties of reading often come from grammar first, as the word order sometimes is different between both languages, and the use of prefixes and suffixes in English does not exist in Mandarin. The use of prefixes and suffixes can bring to my second issue, which is vocabulary. Usually when I meet an unfamiliar word, I will figure out its root word first, then guessing the actual meaning the author wants to express. Google translate won't help much on the second issue.
Wow. Thanks for sharing. It's so enlightening hearing about how people all over the world experience the things we take for granted.
Spanish, French, Swedish... at least you are using alphabets. think about the programmers dealing with DBCS such as Korean, Chinese & Japanese. I learned programming in Korea and worked there for few years. it's extra fun just count the characters in the string. 😊 yes, now a days, english is mandatory to stay in dev world I think.
When I was younger and knew no English, words like "console", "string", "if... else" etc seemed like special magic words and you just learn what they do. When I learned English, I thought: huh, so everything a program does is spelled out in plain English.
Hehe. I guess the idea of "magic" words is really useful. Kinda like how we might not know the meaning of many Unix commands, but we use them.
My native language is the Brazilian Portuguese, and at start of my college, my English was so crappy. To write a full comment like this, I had to always go to Translate. But it had to change...
My college have a scientific initiation project, with researches that, in the case of the course of Systems Analysis and Development, could be a software development project or a systematic review mapping. While in the first you can just know Portuguese (which many of my colleagues do), in the second... Definitely no. We had to read several articles on ACM, Scopus and other research bases and all of articles in my project was in English. After that, if I'm not so fluent, I guess at least I could maintain a minimal understandable conversation.
Wow, that's interesting.
The first thing people tell you about learning programming is "You have to learn English first, or you won't get anywhere".
It's accepted as a fact of the trade here in Serbia.
It's hard for me to imagine what it's like to write code in your native language. I imagine using keywords, methods and variable names, shell commands in my native language -- it would be weird!
I was lucky, and when I've started programming I had good enough level of English.
As for the other people, usually, developers inevitably learn at least some English by reading the documentation and consuming other it-related content.
However, grammar mistakes in the code, weird comments or commit messages are not rare.
Even in English, I find readmes to make almost no sense and have little value.
🤣🤣
Most technical terms are not translated into other languages, we just use the english terms, e.g.:
So as long as everybody understands that english is the universal language for developers (and maybe also administrators) everything's fine.
But companies like IBM translate all their software under the banner of "accessibility" into all languages. Your IDE, domain specific terms, even the error messages. This is such a bullshit! They think they lower the barrier for new developers, because they would easier understand things in their native language, but the opposite is true! Technical terms get lost, nobody understands what "Warteschlangen" (German) means, when talking about queues.
IMHO having english as your "technology language" (not only programming language, but also comments, commit messages, pull-requests, ...) and a different native language for everything else might actually make your life as a developer easier.
No doubts, English is universal language, even more on IT industries. It's mandatory learn it and write your software on this language if you want visibility and help.
1 and a half year ago, I decided change my mind to think mayor part of time in English. It's hard because my native language is Spanish.
I achieved:
Now my listen and write skills are better. But speak it's hard because there is no much places to practice English talking about development on my city. And can't take project from USA because need fluent speakers.
So, it will be good idea if some native English can make some kind of speaking forum or Hangout to talk about tech news, projects, language etc... and help us to improve those skills, I have no fear to receive feedback and have corrections with others. My mistaken can teach other what not to do ;). In exchange I can do the same with people that need practice on Spanish.
As you can see it's a long and difficult road to walk. Some times I feel like a child making baby steep. An yes, some time learn some times need the Google Translate help, but I learned not take it literally.
My main target on mind is to get better English skills and work in less than a year on project from USA.
My primary language is Spanish however, since an early age I've been delving into English (because I loved the language ever since I was in High-School) so it came to a point where I assumed that programming in English was the natural thing and it came to bother me a lot when I see others mixing Spanish words with English reserved words of a language.
I've always written code in English, never even considered using Dutch. This was over 25 years ago, before I even had internet access.
It simply looks wrong when keywords are in English and other things in a different language.
The fact than English is learned as a second language to children in primary schools in the Netherlands might also have something to do with it.
As a none English speaker, sometimes I wonder the different that do native speakers have trouble to distinguish code from comments.