hlx

hlx

Are you working in a non-English codebase?

I’m wondering if any of you are working in a non-English Elixir codebase and how you deal with it especially if you are not proficient in the language the code is written in (German in this case).

Few months back I started working in a non-English codebase and while I consider myself a pretty okay developer, I struggle a lot because I’m not proficient in the language the code is written in.

Luckily my team consists of fellow developers who are also not proficient in the language and we tend to write comments above the function name in English every time we touch a particular piece of code and have plans to translate (most of) the codebase into English.

I have tried plugins like DeepL or Google Translate inside my editor but it just does not feel right.

Any tips? Please share :wink:

Edit: clarification that it’s an Elixir codebase written in German

Most Liked

hst337

hst337

All the companies my friends or I worked in, which had non-English codebase, were a complete garbage. So my tip is to refactor and translate all of it at once or leave the company

hst337

hst337

No, it is not. Code is a text which is designed to be understood by machines and humans. If you write your code in your native language, you make it hard to understand for those, who do not speak this language.

I used to work in teams where 100% of devs, users and managers were Russian-speaking, and we still wrote our program in English, because writing transliteration or using Russian terms (even though Russian language has it’s own broad and deep software development vocabulary) in English programming language would result in a mess nobody would understand. Even if we wrote everything in a Cyrillic alphabet and wrapped every dependency into Russian language wrapper, we would still have an ugly fusion of two languages.

I didn’t say that every English codebase is good.

I am sorry, but how do they program in Elixir? Language constructs, documentation, tutorials, libraries, maintainers, conferences: all in English. How do they explain what does the Supervisor or GenServer mean?

I started programming when I was a kid and I didn’t know any English back then, so I learned terms and gave them my own special meaning (I can sometimes pronounce “header” as “heedr”). But when I learned English, it all finally connected together like a huge puzzle. I understood that I had know only like 50% of what actually was meant in the first place.

If you program in Elixir without knowing English, you’re just combining magic words with a hope that this time it works

sbuttgereit

sbuttgereit

I’ve had to do something similar once. I had a gig where I had to migrate the data from one ERP system to another, but the source ERP system code (names, etc) were all in French and I didn’t have access to any technical resources familiar with the source ERP system to call on… and I don’t speak any French at all.

So I did as @dimitarvp has suggested and used online translators. I did three things to get through: 1) I’d take words from the code and translate them; 2) I’d take the English names (I speak English natively) of the concepts I knew should be in an ERP system and translate those into French; 3) I used multiple online translators since different translators might give me different answers (and thoroughness).

Items 1 and 2 above helped where the French words had been abbreviated in some way for brevity and so couldn’t be translated directly from what was in the code.

In the end I got through it and it wasn’t that bad. Mind you I did have that advantage of really knowing the kinds of things that should be there, being able to evaluate if the data matched my assumptions, and I also had an English UI that I could validate against as well.

Where Next?

Popular in Discussions Top

Donovan
Hello everyone, I’m so glad to have discovered this awesome community. Thanks for creating it! This is my second post, and apologies for...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
New
Fl4m3Ph03n1x
Background This question comes mainly from my ignorance. Today is Black Friday, one of my favorite days of the year to buy books. One boo...
New
PragTob
Hey everyone, this has been brewing in my head some time and it came up again while reading Adopting Elixir. GenServers, supervisors et...
New
rower687
Hi all, I’ve been reading a lot about the “let it crash” term and how supervising processes and the whole messaging passing make an elixi...
New
hazardfn
I suppose this question is effectively hackney vs. ibrowse but we are at a point in our project where we have to make a choice between th...
New
PragTob
Hey everyone, this has been on my mind for some time and I’d love your input on it! TLDR: I feel like maps are superioer for storing and...
New
chulkilee
Here are the list of HTTP client libraries/wrappers, and some thoughts on HTTP client in general. I’d like to hear from others how they w...
New
New
Markusxmr
Since Drab has been developed for a while in the open, introducing the Liveview functionality in a way it happend appears to undermine th...
New

Other popular topics Top

skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52673 488
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 127089 1222
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54120 245
New

We're in Beta

About us Mission Statement