hlx

hlx

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

Showing Posts 1 to 10

dimitarvp

dimitarvp

What do you mean by non-English codebase? Maybe that function and variable names are written in another living language e.g. Italian / Spanish / French / German?

hlx

hlx OP

Yes, it’s Elixir but everything is written in German.

dimitarvp

dimitarvp

I would give you the normal recommendations of just using Google Translate or pair with German-speaking colleague but I am positive you already thought of that.

So maybe ChatGPT? :thinking:

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

Cochonours

Cochonours

That’s a ridiculous take. Plenty of English codebases are garbage too, and if teams working on that codebase don’t understand English this tip can’t be applied anyway.

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.

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

ken-kost

ken-kost

Such overhead. :tired_face: Did you at least get paid more because of the extra work?

I read online

It’s considered best practice that code is written in English

and I agree with that. It makes sense since programming languages are a special form of language so the underlying base - just language - should be consistent. I can understand why some people would prefer writing in their mother tongue, just wouldn’t consider it “best practice”. :cowboy_hat_face:

sbuttgereit

sbuttgereit

On yeah, the gig was time and materials and it wasn’t unexpected by the client either; they had warned me in advance that they knew a lot of the underlying stuff was all in French.

…and I keep saying “French”… it actually the Québécois variety of Canadian French; not a big difference for what I was doing, but something that needed to be considered when consulting the online translators.

derek-zhou

derek-zhou

In code, broken English is still better than poetry in other languages. A program is a piece of writing that is utilitarian to the extreme; your audience is the world and no one is going to translate for you.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91898 914
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews