As a English-is-my-second-language person I can't imagine naming variables using any other language but English.
English is most of the times more concise than my mother language (Polish), and it is much easier to share code on the net, find help on stackoverflow, etc.
If another developer comes on board, will their English be fluent enough to know those terms? There's also a huge risk in having a translation error. We're programmers, not translators.
For general variable names, I agree. On the other hand, in my experience, when the programmers aren't fluent enough in English, if English is imposed, they tend to choose really bad variable names and not comment their code properly. So I tend to impose clear names/doc over imposing a specific language.
Another factor to consider is that if we write in language that has some constructs (e.g. C - if/then/else/while/return/int/double/class/void etc.) then writing:
if (znalezione) {
...
}
looks awkward.Also one has to consider popular libraries and functions/methods/classes in them are English based, so this would add even more awkwardness to the code:
zwierzęta.stream()
.filter(z -> z.kończyny().contains(noga))
.map(z -> z.toString())
.collect(Collectors.toList());I agree with you, but the example you gave is more common than you think. We tend to over-estimate people's language skills. (keep in mind, English is not my native tongue, I'm including myself in there and it's not meant as an attack, just something we need to deal with, and I would not outright exclude bilingual code)
That's why my startup uses language-neutral variable names like i, j, k and x, y, z.
Joke aside, for anyone curious: we use such i, j variables for abstract logic like a counter (e.g. i=0 at the beginning of a loop, and gets incremented by 1 each time the loop runs), or booleans maybe (e.g. P=0 or 1, true or false). But generally it is considered good practice to give names to variables that are self-explanatory (e.g. studentName or vehicle_age) for readability and ease of understanding. Even counters and booleans should be significant when possible (e.g. "hasResponded" or "day_num").
On topic, I think english or not doesn't matter theoretically. Its cultural and indeed 80% of computing/code happens in english on earth (no source, waddayathink!). What matters imho is that semantics are correct (both human and machine language...) and reasonably meaningful to a collaborator.
To anybody wanting to know better: read open-source code. Best school there is, actual practice.
I can't imagine naming variables using any other language but English.
I spent some time as a consultant auditing other companies' software. Even with platforms where the coding-standards dictated the use of English, most of the projects I audited in Europe used the local language, rather than English - especially in variable names.Admittedly there was a selection bias - I wasn't ever hired to audit perfectly good software - but it was remarkably common.
If one were to pick Polish variable names, would the default be the neutral forms[1]? I'm sure this applies to other languages that also have forms of complex declension compared to English. Which would make more sense in Polish?
Interesting direction. As a Polish person I have to ask: was your reason to move personal, or did you notice a career opportunity and went after it?
While, personally, the U.K. and Sweden remain the most viable destinations if I were to move abroad, Poland isn't far behind in terms of the personalities of the people I've met, the scenery they've showed me, and the cultural/historical depth there. Obviously, take that with a truck load of salt since I've yet to visit.
I moved to Poland from the UK yonks ago, and have equally disastrous - if not worse - language skills as you.
Not long after arriving, I accidentally got a job at a startup, and I'd been led to believe everything was done in English internally: communications; client emails; heck, even variable names in the code, all was in English and I had nothing to fear.
This turned out to be a slight exaggeration; anything in English was the rare exception, rather than the rule.
You know what, though? Even without lessons and fully resenting Polish's grammar, you learn really quick. You also won't be facing this alone; as long as you're actually capable of getting the job done, plenty of local language speakers in your office will bend over backwards to encourage and help you.
Don't let language be the only thing holding you back. If I had my time again, I'd let things like bureaucracy and road safety guide my decision rather than what noises come out of peoples' mouths.