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.😆
Top comments (32)
My native language is Serbian but I'm very comfortable with English as I'm constantly surrounded by it, I write on Quora occasionally and whole communication (except for chat) in my company is in English. The only thing I can't do is writing very complex sentences in English with various tenses. For that I need to improve my grammar.
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.
It is hard for me to imagine how it is as a non-native english speaker. I am a non-native english speaker - and my english is not the best, I would say. But on the other hand: if I remember my first contact with computers was in the 80ies. And it was all about english language: starting with the BASIC dialect to all the "cracker" intros, games etc. So english was early on part of my (childhood) life - even before I actually learned the language at school.
But I can completely understand how you feel.
We are now in an age, where there is a big nation of developers making really cool things in a language, I don't understand:
antv.alipay.com/zh-cn/g2/3.x/index...
and
antv.alipay.com/zh-cn/g2/3.x/tutor...
That gives me the impression of what this is about.
»This library looks cool. Let's have a look ...« ... »Whaaat the ... « o_O
Perhaps chinese will be the new english of the future.
Haha. That link you shared. Tbh, I don't think I would use a library that was in a different language. I'd be scared of running into a bug and not being able to get any help due to the language barrier.
My native language is Spanish and although I understand English pretty well there's some other thing that makes my life easier... Switching my keyboard layout to American English. Shortcuts and coding characters are easier to type like this.
Same here! I hate Spanish iso keyboard for coding, I always switch it to American English!
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.
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.
I was okay at English before I started learning programming, in highschool. Our highschool teacher explained us basic programming constructs over the year, in C++. Despite the fact that I had been learning English since elementary school, some programming words just didn't sound that intuitive to me. E. G., switch (switch for me was on or off), variable ( I was taken aback when I first heard it. Our teacher explained that this is very similar to the 'x' we use in math, which made more sense), array pop (I had never seen pop used this way before), stack (I knew what the word meant but I couldn't imagine a stack of plates until our teacher gave an example).
Also add to the fact that, English pronunciations are not exactly intuitive. You can't figure how a word is pronounced from the characters. I remember friends pronouncing "char" as "car". I still know people who pronounce "cache" as "catch-é".
Wow. Thanks for sharing. Glad you were able to push on.
Yeah, English pronunciations can be weird. I'm still trying to figure out why "Leicester" is propounded "Lester".🤣
After years of watching video and reading articles in English, I kind of became fluent.
But for new learner, I guess it's one more challenge to overcome.
I love the idea of an international language. French is my language, but I don't really care for it. I way more enjoy being able to share with people around the world. 👋
On the subject of i18n, it's a real chore. I work on multi languages UI and it's a lot of work: different keyboards, different word length, different text direction, different date and currency format...
Damn. I only scratched the surface. Seems like we might need to create a role called "Internationalisation Engineer".🤣
An international language sounds nice, and I guess English is the closest to that in dev. I consider myself lucky to have been raised speaking English.
It's cool that at least there's a fairly "universal" language we can share things in.
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.
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.
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.
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.
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.
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.
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.