At both Siemens (German) and Ericsson (Swedish), I have seen programs written in C, and C++ where the only English words are the keywords. So if, new, else, for and the standard libraries like std::vector<>
Everything else was in German or Swedish. The Swedish I couldn’t even type. I don’t know how to find O with an umlaut on my keyboard. It’s not even called an umlaut in Swedish, I don’t think - that’s German. Whatever - I still can’t type it.
The single thing that jumped out at me was just how important intentional naming is.
The whole story, and I mean literally *everything* - that can be known about the software comes from the names, and nothing but the names in it.
I had a similar experience when I picked up a Java programming book in Prague.
It’s basically like this:
- public String hgruyt( String agrzygy) {
- if ( agrzygy.indexOf("Schmn li Obdlate") > -1 ) {
- return this.frrrmli.get(agrzygy.toUpperCase());
- }
- return agrzygy;
- }
One point if you spot that it is a “replace with a mapping if we know it, else pass through” style transformation. Ten thousand points if you can discern any business reasoning for it.
Sadly, I’ve seen programs written in English that were not much clearer :(