10 ms·
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
by jvansc 2y 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.
- ceejayoz 2y agoThe 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.
- colordrops 2y agoI worked at a Chinese company for a while and they used Chinese in meetings but English in the code base.
- deleted 2y ago[deleted]
- rcruzeiro 2y agoSomeone 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.
- sghiassy 2y agoDumb question, but it would then seem that you have to know English to program??
- creakingstairs 2y agoIt’s harder to learn for sure. Majority of the resources are in English and it’s harder to internalise the keywords. But it’s definitely possible to program without knowing English.
- sghiassy 2y agoBut like, you can’t program Java without English right? A for-loop has to be written in English?? I’m so confused haha
- FeteCommuniste 2y agoYes, for Java in particular you need to know the various English keywords. At least I don’t think anyone has written a non-English Java variant that compiles to the JVM just as Java would.
- deleted 2y ago[deleted]
- bentcorner 2y agoI imagine you could have a non-English toolchain, it's just uncommon. You may have to write a bunch of it yourself. Come to think of it, I wonder if there are language concepts that don't map to English that artificially restrict what we can program? For example would programming U->D, R->L in Chinese (vs L->R, U->D in English) result in easier to read programs somehow? Would being able to program using iconography (like a bunch of FE languages) result in more "screens" of text to aid understanding?
- 0x457 2y agoYes, but you don't need to know what "for" and "while" mean in your language, you just need to know their behavior. The same way Arnold Schwarzenegger was acting without knowing much English - everything was phonetically spelled for him in early roles.
- 2y ago
- icepat 2y agoYep, myself as well. I've heard non-English programmers who've worked with non-English codebases call them "very weird".
- ninetyninenine 2y agoA lot of software design from the English world centers around "design patterns." And these "design patterns" have advanced nomenclature and often make things more convoluted then necessary. The whole concept of these "patterns" are actually an arbitrary style that got invented in the English speaking world. In non-english countries people program in ways that are more straightforward.
- etrautmann 2y agoCan you provide an example?
- ninetyninenine 2y agoFirst, we create an AbstractFactory to generate objects that conform to our standardized output structure, ensuring extensibility in case "Hello, World!" ever needs additional variants. The Singleton manages our PrintManager, enforcing a single, controlled point of access to the output stream while Double-Checked Locking ensures thread-safe initialization. Dependency Injection provides our PrintHandler with a flexible logging system, allowing it to notify an Observer whenever "Hello, World!" is printed. The Mediator coordinates between components to ensure the PrintHandler doesn’t have direct dependencies on the OutputStrategy. To maintain optimal efficiency, a Flyweight is used for the "Hello, World!" string, preventing redundant memory allocation. The Proxy regulates access to the print function, ensuring only authorized modules can invoke it. The Composite structure organizes potential multiple output streams, making it easy to expand the system beyond just console printing. A Factory of Factories, or MetaFactory, oversees creation of our AbstractFactories to maintain consistency and scalability. Before execution, Encapsulation hides implementation details while Cohesion ensures the PrintHandler remains single-responsibility. Loose Coupling ensures that changing one component won’t break the system. Interfaces dictate behavior, and Abstract Classes provide reusable codebases. Dynamic Dispatch selects the appropriate OutputStrategy at runtime. To enhance modularity, a Decorator wraps the PrintHandler for additional formatting options, an Adapter ensures compatibility with different logging frameworks, a Memento preserves state in case a rollback is needed, and a Facade simplifies access for higher-level modules. The Chain of Responsibility delegates different logging levels, while the Command Pattern encapsulates the printing request for possible queuing or delayed execution. By adhering to Open-Closed, we can extend our print functionality without modifying core logic. Liskov Substitution ensures all output strategies remain interchangeable. Interface Segregation ensures smaller, focused contracts. Dependency Inversion prioritizes abstractions over concrete implementations. Finally, SOLID principles uphold scalability, reusability, and maintainability. UML diagrams map out relationships, Sequence flows depict interactions, and Design Contracts enforce constraints, ensuring the system remains adaptable. After all this, we simply call PrintManager.getInstance().print("Hello, World!"); and marvel at our masterpiece.
- heelix 2y agoOur 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.
- 0xDEAFBEAD 2y agoIsn't it true that schoolboys in many countries would learn Latin 100+ years ago? I suppose it would've been used sometimes in international communication?
- stratocumulus0 2y ago100+ years is still pretty recent. The immediate predecessor to English as a world language was French. Matter of fact, my country has only dropped French translations from its passport with the most recent design update a decade ago or so. Latin would have been used pre-Renaissance. Our grandparents might have still had to learn it as a part of an educated person's toolkit, but it was long not intended for communication anymore back then.
- throwaway1053 2y ago> The immediate predecessor to English as a world language was French From what I remember, there was a divide between Catholicism and Protestantism, where some of the smaller countries that followed Protestantism used German as a common language due to its origins. I think knowledge of German in Norway was something that was expected of students attending the universities until the mid 1900s (due to geopolitical changes)
- Neonlicht 2y agoJapanese scholars famously learned Dutch because they were the only foreigners who were allowed to bring in Western books. Luckily if you are intelligent enough to read Dutch learning English is a walk in the park.
- david-gpu 2y 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 2y agoInterestingly, 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.
- Twirrim 2y ago> Not everything changes though - gold plating thickness is measured by the micro-inch Considering how much manufacturing and science etc. has fully migrated to metric, even in the US, this seems bizarre to me.
- tadfisher 2y agoLike in machining, there's a long history of measuring everything in "thou" (micro-inch sounds proleptic to me, and you'll see "mil" used in the EDA space). All the tooling uses it, standardized components use it (I can drop a 74-series TTL chip from the 1970s in a modern board), and everyone learns it when they start using EDA. Recently there has been a shift to metric in EDA software, so you'll see often see multiples of 2.54mm, and packages are switching to metric for the fine-pitch stuff. Often you'll have spacing in both units in the same design.
- likeabatterycar 2y agoMost 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.
- 0xcde4c3db 2y 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.
- bri3d 2y agoAlmost 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 2y agoI'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.
- markus_zhang 2y agoIt'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.
- 0x457 2y agoUnless 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 2y agoAnecdotally, 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.
- sedatk 2y agoAs 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.
- impulsivepuppet 2y agoIt 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 2y agoIn the wild I've seen a company returning a JSON key "ankunftTime" in one of their APIs
- Timwi 2y agoAnyone remember T_PAAMAYIM_NEKUDOTAYIM?
- BlueTemplar 2y agoNo, but thanks : https://news.ycombinator.com/item?id=33829645 https://news.ycombinator.com/item?id=33829645
- smcin 2y agoThe original 2013 post is 404 and was not archived by IA: https://philsturgeon.com/blog/2013/09/wtf-is-t-paamayim-nekudotayim/ https://philsturgeon.com/blog/2013/09/wtf-is-t-paamayim-neku...
- lukan 2y 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 2y agoYour 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.
- krust 2y 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.
- cratermoon 2y agoThe Soviet Union is the only country I know that programmed extensively in non-English languages. The Soviets had a Russian-language implementation of ALGOL 68. They also, as best I understand, still use a Russian version of a language called 1C. https://en.wikipedia.org/wiki/Non-English-based_programming_languages https://en.wikipedia.org/wiki/Non-English-based_programming_...
- ghfhghg 2y agoThat's my experience working in Asia. All the comments were in Japanese though
- csomar 2y agoThanks god everyone accepted that otherwise the fragmentation will be insane.
- jmorenoamor 2y agoI 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.
- yonatan8070 2y agoI'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 שלום).
- dailykoder 2y agoI 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
- deleted 2y ago[deleted]
- scheme271 2y agoThat'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 2y agoBecause 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.
- sakras 2y agoFrom 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!
- sharpy 2y agoWorked 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.
- sakras 2y agoAh interesting! I've definitely seen some French code somewhere with the variable names being all French as well, so it really was strange to see them be mixed.
- Nab443 2y agoPlease 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..
- senko 2y 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...
- Lanolderen 2y agoIn 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.
- victorbjorklund 2y agoI'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 2y agoI 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.
- vjk800 2y agoThere 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 2y agoCuriously 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.
- nemoniac 2y agoNot 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 2y agoI assume that there is a prompt that asks the LLM to generate its thoughts. This prompt is probably in English.
- dreilide 2y agointerestingly that hasn't been my experience. did you use their web interface or the API? https://ibb.co/chYPXNDw https://ibb.co/chYPXNDw
- pllbnk 2y agoI 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.
- Etherlord87 2y agoI 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.
- formerly_proven 2y agoEU - 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.
- Bayart 2y 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.
- amonith 2y agoI'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.
- TacticalCoder 2y 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.
- SZJX 2y agoThis 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.