For a lot of new shops in at least western countries, writing everything in english is becoming the norm, including technical docs and comments.
The two main points I’ve seen are:
- it’s a daily pain to handle two vocabulary sets and lead to undue errors and bugs. When you have a “FishingBoat” class which related to a “boat” table and all the documentation points to “Bateau de pêche” and “barque” it’s 2x harder to follow things. Then people will accidently translate “bateau” to “ship” and it slips through a few reviews of mostly independent features, and you’ll have both words in the code base before you realize.
- it becomes a swamp the day a non native speaker touches your code base. For instance you need to share part of it with a company next door that happens to be the other side of the border. Or you ask a Romanian dev team to port your code to another platform.
Yes, that is a huge problem I have seen often here in French speaking Quebec. Developers will prefer all the code in English, because the libraries and language keywords are in English and it is thus more consistent.
This leads to business domain objects to be translated in English by the devs and they will make different or incorrect translations.
Then, all the stakeholders and requirements will be in French. All developers need to constantly map the real world names to the English names used in the code base, but that nobody else uses.
This leads to bugs, inconsistencies and extra cognitive load. It comes back to how hard "naming things" is.
Yes and it makes sense because great software eventually becomes worth internationalizing. If you start with a non-English code base and documentation, good luck translating that.
The two main points I’ve seen are:
- it’s a daily pain to handle two vocabulary sets and lead to undue errors and bugs. When you have a “FishingBoat” class which related to a “boat” table and all the documentation points to “Bateau de pêche” and “barque” it’s 2x harder to follow things. Then people will accidently translate “bateau” to “ship” and it slips through a few reviews of mostly independent features, and you’ll have both words in the code base before you realize.
- it becomes a swamp the day a non native speaker touches your code base. For instance you need to share part of it with a company next door that happens to be the other side of the border. Or you ask a Romanian dev team to port your code to another platform.