> Academia people live in "bubbles" and they assume everyone knew what a domain specific terms and greek letters
Naming things by their English name is not more universal than using Greek letters. It's just serving amother group of people who live in a different bubble.
Yes and no, the example that the author gives is actually a very good one:
> Many Julia APIs look like Optimiser(η=...) rather than Optimiser(learning_rate=...). This is a pretty unreadable convention.
The learning rate is a well known name that basically every one will understand, on the other hand, "η" or eta, is not even used everywhere in the literature with some papers using alpha instead.
This just looks clever, it's a pretty bad parameter name.
> The learning rate is a well known name that basically every one will understand
Absolutely! Because as we all know, everyone speaks English.
The GP's point was that greek letters are used in lots and lots of papers even written in other languages. I have read quite a few papers in Japanese that used exactly the same conventions with respect to the greek letters and latin letters used.
How many researchers in the ML/DL community don't speak English? I don't have hard numbers but I highly doubt that it's a significant proportion. What is the reach of your Japanese papers when almost no-one outside of Japan can read Japanese?
Even China, despite their best effort to de-westernize their culture still uses English in their research papers.
And if all the above wasn't enough, Julia's libraries are still all in English so if an hypothetical researcher's English is so poor that they don't know what "learning rate" is, I'd venture that they'll have trouble programming in Julia/JAX/PyTorch.
How many don't speak it as a native language? Quite a lot as most of the world uses something else as their primary language.
If you're instead asking of how many can struggle trough an english text supported by machine translators, then that's clearly almost everyone.
There's very often a significant gap between the ease with which the native and the foreign language can be used for reasoning, but surely I don't need to point that out since any bilingual person knows this.
The programming language is already in English, implying that using greek letters to map to math concepts is easier to understand for non-native is disingenuous.
It's really not. There are just a few programming language-specific keywords that you have to memorize, unlike infinite possible combinations of English words for parameters.
edit: as an example, when programming for Brazilian businesses, we generally just use a mix and match of Portuguese and English like getFinanciamento. "Get" is a technical concept while "Financiamento" is a business concept and it often doesn't make sense to translate either. Best just to leave them both in their respective domain-native language.
In case of maths, Greek IS the domain native language. Now, I wouldn't necessarily enjoy a codebase with Unicode variables for other reasons, but using Greek is best to map directly from the equations.
I am not debating the merits of writing your business logic in whatever language that you want.
Flux, the Julia framework that we are discussing, is in English. Its classes, function names, optimizers, everything is in English. Keeping parameters as Greek letters and arguing that it's easier to understand is insanity.
I am replying to a comment in which you were talking in general terms. Maybe it's insanity because typing Greek symbols in most general-purposes IDEs is hard, querying it in search engines can be tough, etc. Not because it's mixed with English names.
Classes are a programming concept, they do map to the programming domain. Even optimizers and functions probably do map to a named mathematical concept, not to a Greek letter. But prameters probably map to a specific symbol in an equation.
In Mathematica, for instance, we use Greek letters and it allows you to just type an equation in the proper visual form. So much easier to map it when you're working with the actual domain-native names and formats.
> Absolutely! Because as we all know, everyone speaks English.
I understand the sentiment here, especially as English is not my native language, but for many domains, for anything close to the state of the art, English is lingua franca.
Google Translate is one click away. I can easily translate both Japanese and Chinese comments and variable names to get the gist of it. Using single hieroglyphs for it makes the entire endeavor impossible.
I can assure you that more people exist with B1 knowledge of english then folks that have at least minimum knowledge of all math and computer science related domains that are used for deep learning (even subset like audio/video) even if we use only using software engineers/ml engineers as reference you have so much domain knowledge needed to even consider reading notation (without proper explanation in docs).
And most of the variables in code still will be in english or other natural language so it is just easier to read english then read math notation mixed with english/other language for MOST (not all) people using underlying software.
I agree, and from my math/APL bubble, let me have my succinct symbols. I invoke the famous Iverson 1979 Turing Award Lecture, "Notation as a Tool for Thought" [1]. If you are in ML and do math to some degree, learn the symbols; it's more than just about succinctness.
Naming things by their English name is not more universal than using Greek letters. It's just serving amother group of people who live in a different bubble.