top | item 42872867

(no title)

jvansc | 1 year ago

This is probably an incredibly stupid, off-topic question, but why are their database schemas and logs in English?

Like, when a DeepSeek dev uses these systems as intended, would they also be seeing the columns, keys, etc. in English? Is there usually a translation step involved? Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

I'm realizing now that I'm very ignorant when it comes to non English-based software engineering.

discuss

order

david-gpu|1 year ago

> Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

That is precisely what happens. It is not unusual for code and databases to be written in English, even when the developers are from a non-English speaking country. Think about it: the toolchain, programming language and libraries are all based on English anyway.

londons_explore|1 year ago

Interestingly, in the world of electronics this used to be true too. The first Diode on a circuit board would be marked "D1", no matter which country produced it. Datasheets for components would be in english. Any text on a circuit board would be in english (ie. "Voltage Select Switch" or "Copyright 2025".).

However, a few years back it became common for most datasheets to be available in mandarin and english, and this year most PCB fabrication houses have gained support for putting chinese characters onto a circuit board (requires better quality printing, due to more definition needed for legibility).

Now there are a decent number of devices where the only documentation is only available in mandarin, and the design process was clearly done with little or no english involved.

Not everything changes though - gold plating thickness is measured by the micro-inch. Components often still use 0.1 inch pin spacing. Model numbers of chinese chips often are closely linked to the western chip they replace, the names of registers (in the cpu register sense) are often still english etc.

miki123211|1 year ago

In my experience, you usually get English variable names / db schemas, localized chats and tickets, with internal docs, log messages and comments being a mixed bag.

For some kinds of software, localized names make a lot more sense, e.g. when you're dealing with very subtle distinctions between legal terms that don't have direct English equivalents.

bryanrasmussen|1 year ago

I have worked in a couple places where some of the code was not in English, and it was incredibly annoying, like an affectation.

edudobay|1 year ago

Considering Brazil and the Spanish-speaking people whom I've worked with, it's common for English coding to be the norm for the company/project, but many people are far from being proficient in English, so we end up with funny names that are often confusing or nonsense - I've seen an "evaluation service" that is actually a "rating service" (both could translate to the same in Portuguese). They often translate to false cognates too.

There are some business concepts that are very unique to a place (country-specific or even company-specific) with no precise translation to the English-speaking world, and so I sometimes prefer to keep them in their native language.

impulsivepuppet|1 year ago

It might seem less credible to encounter English in a place where it’s less expected, but think of it this way: would a Yandex-developed ClickHouse database be adopted by Chinese devs if everything in it were written in Russian?

There is some merit in asking your question, for there’s an unspoken rule (and a source of endless frustration) that business-/domain-related terms should remain in the language of their origin. Otherwise, (real-life story) "Leitungsauskunft" could end up being translated as "line information" or even "channel interface" ("pipeline inquiry" should be correct, it's a type of document you can procure from the [German] government).

Ironically, I’m currently working in an environment where we decided to translate such terms, and it hasn’t helped with understanding of the business logic at all. Furthermore, it adds an element of surprise and a topic for debate whenever somebody comes up with a "more accurate translation".

So if anything, English is a sign of a battle-hardened developer, until they try to convert proper names.

denysvitali|1 year ago

In the wild I've seen a company returning a JSON key "ankunftTime" in one of their APIs

rcruzeiro|1 year ago

Someone who worked on a non-English environment years ago here: sometimes you do use the local language in some contexts, but, more often than not, you end up using English for the majority of stuff since it's a bit off-putting to mix another language with the English of programming languages and APIs.

heelix|1 year ago

Our US company sent me to France to help out with an implementation. The guy I worked with spoke very little English and my French is terrible. Both of us had done Latin, however - so the comments were hilarious as we used that as our common link. One of those projects I'd expect to show on the daily WTF at some point.

I did try my hand at a translation tool, as it was all i18n up proper. Watched one guy blow coffee through his nose when I demo'ed - and the 'BACK' navigation was the French word for a persons back or something like that.

icepat|1 year ago

Yep, myself as well. I've heard non-English programmers who've worked with non-English codebases call them "very weird".

sghiassy|1 year ago

Dumb question, but it would then seem that you have to know English to program??

bri3d|1 year ago

Almost all software engineers learn a passing amount of English - truly localized programming environments are quite esoteric and not really available for most mainstream use cases I can think of.

Depending on the company culture and policy, the most common thing to see is a mix of English variable and function names with native-language comments. Occasionally you will see native-language variable and function names. This is much more common in Latin character set languages (especially among Spanish and Portuguese speakers) in my experience; almost all Chinese code seems to use approximately-English variable and function names.

buu700|1 year ago

I've also seen a codebase with a mix of English and Portuguese variable/function names and comments. In that particular case, the Portuguese variable/function names were basically treated as technical debt, with a gradual ongoing transition to consistent English naming.

0xcde4c3db|1 year ago

> Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

I'm a native English speaker, but from looking at various code bases written by people who aren't, I gather that it's basically this. It wasn't too long ago that one couldn't even reliably feed non-ASCII comments to a lot of compilers, let alone variable and function names.

lukan|1 year ago

"Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?"

Yes, that's what we did and do.

Depending on the project, I do use german variable names and comments at times, but stopped using all special characters like öüäß, they mess things up, despite in theory should just work fine.

Nowdays even chrome dev tools come in german, but experience shows, translated programming tools (or any software really) usually just have the UI a bit translated. But any errors you encounter or any advanced stuff will be in english anyway. And if you google issues of your translated UI, you won't find much, so better just use the original version.

So english it is.

(And it is the lingua franca in most parts of the world anyway)

maeil|1 year ago

Your country's biggest SW company is SAP, world infamous for their German column names, haha. Pretty sure it's the most widely used product in the world with non-English internals that people actually interact with - I'm sure there's some Realtek firmware with billions of installs that's in Chinese but barely anyone has to look at that.

nemoniac|1 year ago

Not only that, DeepSeek "thinks" in English!

When I interact with it by asking it a question in Spanish, the parts between the <think> ... </think> are in English before it goes on to answer in Spanish.

Give it a try in your favourite language.

I went on to ask it if it "thinks" in English, Spanish or Chinese but it just gives the pat answer that, being an LLM, it doesn't think in any language.

chromanoid|1 year ago

I assume that there is a prompt that asks the LLM to generate its thoughts. This prompt is probably in English.

victorbjorklund|1 year ago

I'm from Sweden (okay not same thing as China due to english being more common here) but I always code in english. Even if it is a script just for myself I will use english for variable names etc

2mlWQbCK|1 year ago

I do that as well and also in almost all my personal documents on most (but not all) topics. All the books and most online forums I read are in English. I rather have documents uniformly in Swedish English (en-SE?) than some Swenglish mess of Swedish mixed with English words.

It also helps on the rare occasions some random notes evolve into a proper project that will have to be in English eventually anyway. There is no need for an extra translation step between initial idea and final product. All my vague hobby gamedev ideas are in English for instance.

sedatk|1 year ago

As a Turkish developer, I can say that all developers learn at least some English in order to be able to grasp documentation and also programming languages since syntactic elements are in English too.

That said, many developers might still prefer Turkish for naming DB tables, fields, variables, types and so forth if that’s the preference of the team. It wouldn’t be an exceptional situation. It’s quite easy too since Turkish also uses a Latin alphabet. May not be as easy or preferable in Chinese.

sakras|1 year ago

From what I’ve seen, code usually comes in one of two languages: English or French. Somehow everyone but the French speaks enough English to write code!

Nab443|1 year ago

Please come in Belgium, there are places where you can see code in Dutch, French and Englis within the same file. I suppose you even should be able to find code with some additional German in it..

sharpy|1 year ago

Worked for a french company once. The code was in English, but the comments were in French. I guess this happens, because all the language keywords are English, so it might be strange to mix and match langauges there. But comments were fair game.

0x457|1 year ago

Unless they're using a programming language that isn't English-based (for example, Russian 1С system uses Russian keywords and the whole codebase is usually in Russian), then most of the code stays English.

This way, you don't have to change keyboard layout while writing code.

Anyway, you're forced to learn some English when doing any real software development.

kdmtctl|1 year ago

Anecdotally, a lot of 1C developers are not proficient in anything else because they don't need English in the main field, platform docs included, and can only get scarce translated versions of anything else. And blogs in Russian, which are not plenty and not always correct.

This makes some of their infra work and common misconceptions a little bit ... esoteric. So, English is crucial not just to do the job but to get best practices and CS info in general. It really helps a lot.

amonith|1 year ago

I've been doing SWE for 10+ years in Poland and I encountered non-English language in code precisely once - in a German project, lol. Some guys do leave Polish comments here and there, or in commit messages or in other docs/jira tickets/whatever - but in db schema, variables, properties, methods etc? Never, ever. English is 100% a requirement for every developer job offer I've ever encountered in Poland. Not necessarily a very high level for programmers (if you don't speak directly with the client), but you wouldn't get an offer at all if you're very far below B1.

I mean we're kind of an outsourcing hub so it makes sense. Even some of our companies outsource further to the east so you really can't avoid it.

Lanolderen|1 year ago

In Germany I've seen both. Whenever possible I push for having everything in English. Code comments, general documentation, databases, etc simply because the german developers know English but the non-german developers sometimes don't know German. It also puts everyone at roughly the same language level since we don't have many English natives.

PS: I remember quite a while back when Wargaming's World of Tanks became a big thing they had to translate everything from Russian to English because they wanted to get foreign developers involved as well. Never heard of the reverse happening.

pllbnk|1 year ago

I am European, however I have worked with developers from various parts of Asia and South America. English is usually a second language, however most developers are fairly fluent using it as a spoken or written language. Also, most development resources are written in English, so all developers know how to read it. Programming languages and their standard libraries are also written in English. It's the lingua franca worldwide, so we are all happy to use it in the technical context.

ceejayoz|1 year ago

The languages and frameworks and documentation are often in English. The code has a good chance of also being in English as a result.

See also: aviation.

jmorenoamor|1 year ago

I write code in english and user (andmin, ops, app user) messages in the appropiate language.

As programming languages keywords and APIs are written in english, it just looks better to keep it that way for identifiers and internal doc, the other way causes a dissonance for me which feels unconfortable.

colordrops|1 year ago

I worked at a Chinese company for a while and they used Chinese in meetings but English in the code base.

formerly_proven|1 year ago

EU - while exceptions exist, my experience generally has been that devs working in English are virtually always much better devs than their peers working in the native language of the land. Likewise, most business projects I've worked on were entirely English on the inside, even when the UI was e.g. german-only. I've also seen a few projects where the business domain is so thoroughly native-tongue (typically when the business domain is a projection of the local bureaucracy) that you couldn't name business entities in English if you tried. Those can end up with a somewhat weird hodgepodge, where the code and comments and such are still English, just the names of the entities aren't.

senko|1 year ago

> Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

Not only that. All of the code I (not a native English speaker) write, even if only I will ever see it, is in English - comments too. And I'm pretty confident all my colleagues do that too.

Might be different for languages with large population of native speakers (Croatian is just a few mil so we're more exposed to it), but you still can't avoid using English for tools / libs / docs / research papers / stack overflow...

Bayart|1 year ago

> Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

That's how it goes, at least around Europe. People know English as a technical jargon (similar to legal French and Latin in English) and can juggle enough to get around documentation, but I've been in companies where I was the only fluent English speaker (and we're talking startup stuff). That gave ma a bunch of cool opportunities though, being pulled in every other meeting as the designated translator.

yonatan8070|1 year ago

I'm a native Hebrew speaker, I wouldn't even think to put Hebrew into my code, similar to how I won't use emoji or other non-ascii characters, except Hebrew in particular is even worse since it's RTL, and mixing it into LTR code would be a pain in pretty much every text editor.

I do occaisonally find code with variable names in other languages, but it's very rare, for the most part if you want to code, English is the way.

I've also seen a few devs who used Hebrew variable names but spelled in English (`shalom` instead of שלום).

vjk800|1 year ago

There basically isn't non English software engineering.

English is the universal language in programming and software engineering, much like Latin was the universal scholarly language in the past. Sometimes even to the extent that the language starts leaking from the code and technical documents, reports, etc. are being written in English, often just because the people working close to the software are more familiar with the terminology in English than in their native language.

formerly_proven|1 year ago

Curiously that wasn't always the case, if you bought a compiler and IDE in the 90s or 2000s from Microsoft or a few others, you'd get an environment that's fully translated to the local language. Granted, those translations frequently made almost no sense at all, but the words were all decidedly Not-English. You could also go out and buy translated books and references.

Even when you install e.g. Debian today and select Not-English as the system language, you might be surprised to see that GCC actually has i18n'd error messages, at least for some languages. Same for coreutils. I doubt anyone uses that intentionally, and they're probably not very up to date, but it does exist... kinda.

Etherlord87|1 year ago

I remember when Adobe Flash Player would report bugs in Polish language, because my Windows was Polish. Googling the bug message was problematic, because most discussion is done in the international, English language. So the next time I was installing Windows, I made sure to choose English as the language. The same goes for browsers and pretty much everything else.

markus_zhang|1 year ago

It's very uncomfortable to switch languages during development. Think how often you would need to switch languages if you use Chinese for column names and such. English has been the second language for Chinese for the past 30 or so years. I started to learn Enginse from Grade 4, and nowadays they started in kindergarten.

However, I suspect it's a honey pot.

SZJX|1 year ago

This is precisely how English is the lingua franca of developers around the world, and a lot of (not all, of course) companies in e.g. Germany or Japan hire English-speaking programmers.

likeabatterycar|1 year ago

Most Chinese open source code I've seen is written in English, with English variable names, but comments in Chinese Unicode glyphs (in between all the buffer overflows and other general carelessness).

Don't forget Shenzhen is a stone's throw away from Hong Kong where English is widely spoken.

scheme271|1 year ago

That's pretty much it. Even stuff developed in other countries tends to be in English. For example, Lua was created in Brazil but it's primarily in English. Or Ruby, it was created by a japanese dev but I don't think it really supported japanese for a while.

karmasimida|1 year ago

Because DeepSeek researchers are Elite, English is like very very easy and common for top Chinese students. They just use it, and feel nothing wrong about it.

krust|1 year ago

>Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

Yes, coding in english is the standard.

ghfhghg|1 year ago

That's my experience working in Asia. All the comments were in Japanese though

csomar|1 year ago

Thanks god everyone accepted that otherwise the fragmentation will be insane.

dailykoder|1 year ago

I write all of my code in english. Even if it's just for me. I am a native german speaker.

It just makes things A LOT easier in terms of debugging, researching, reading examples from documentation, etc etc. I don't even understand my (boomer) colleagues who straight up refuse to learn english and get angry when they can't find solutions with german search input

TacticalCoder|1 year ago

> Or do devs around the world just have to bite the bullet and learn enough English to be able to use the majority of tools?

That.

There's also a huge mental switching context cost when you try to have code mixing, say, french and english together:

    size_t taille;
    site_t taille_domaine;
vs:

    size_t length;
    size_t domain_length;
Hardly anyone does the former. It's simply not a thing. I mean: sure, there are the odd projects that'll be exceptions.

But we pretty much all name our functions/methods/variables/etc. and write our comments in english.

FWIW when I code I actually both think and count in english.