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.😆
Oldest comments (32)
Languages were my worst subjects in school. Almost dropped out because of my bad English once.
Somehow wanting to become a dev forced me to become better in English.
That's cool (and a bit sad😥). Glad it worked out well.
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 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!
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:
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.
As Italian english is not my native language but I think nowadays english is a must if you want to be a software developer.
I think that learn english pretty well helps a lot about learning new things in computer science, the major of them are written in english too ~
That's true. English is the lingua Franca of computer science.
I really applaud you folks who learn another language apart from your native one. It's not easy.👏
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.
As a none English speaker, sometimes I wonder the different that do native speakers have trouble to distinguish code from comments.
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.
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.
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.
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.
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.
Even in English, I find readmes to make almost no sense and have little value.
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.
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.