I like efforts like this that try to use different wording to explain the same concepts. That said, this document still uses words I would not consider to be "simple English".
There are many such cases in the document, but let's take for example "inference". There is a definition of what "type inference" is in the first paragraph of the section. But the reader must still then learn this phrase at the same time as learning the programming language. Maybe a simpler English statement would be "Automatic types", using the word automatic, which is more wide spread and is adopted in many languages. The meaning is not as precise but the document can then further explain what it is.
I am not a native English speaker but have become so used to using it that it is sometimes difficult to know which terms cause issues to programming language learners. Perhaps HN is the wrong place to ask this but I would be very interested in knowing which terms other non-native speakers have problems with.
Unfortunately, we still need technical terms to define precise concepts. I'd argue that "inference" in "type inference" is not something a non-technical native English speaker would understand either, so it's less a matter of "simple English" vs. "technical vocabulary".
I agree. The problem is that most people learn these precise technical terms first in their own language and must then learn them also in English (well, in truth, for me it was the other way around :) ).
I think that this write-up could use a simpler English, as it is titled, then the reader can later proceed to learning the more precise technical terms in other material.
Personally I don't know what half of my technical vocabulary translates to in my native language :P I know what type inference means and I'm pretty sure I could explain it in Finnish but I have no clue what the "standard" jargon is if it even exists.
I have lots of vocabulary that is "English-only"; it's especially noticeable if I'm asked to translate something, as coming up with a translation can take a while even though I can effortlessly understand the source sentence.
> The problem is that most people learn these precise technical terms first in their own language and must then learn them also in English
I think this is only possible true for people who speak languages with large programming communities - Chinese and maybe Russian - but I doubt it’s true for anyone else.
I am from a small country of two million people. We have our own language and the faculties have a mandate to coin new technical terms in our language. Our theses all have to be written using these terms (they are updated annually).
Unfortunately, we in the industry largely don't follow these updates so in our conversations we use English terms. People just graduating, however, may be exposed to the English terms anew when they start working.
A dilligent student would have studied material in English as well but it is possible for people to get to a Masters in Computer Science and do all their studying in our native language.
I am from Slovenia. We have had confusions with Slovakia, which is a source of a few jokes here, so just to disambuguate :)
https://en.m.wikipedia.org/wiki/Slovenia
Agreed. Asked around here a few people and "deduce" is more wide spread than "infer". A lot of people don't know the meaning of either, though, and it doesn't help that deduction's first translation is related to the mathematical operation :(
There are many such cases in the document, but let's take for example "inference". There is a definition of what "type inference" is in the first paragraph of the section. But the reader must still then learn this phrase at the same time as learning the programming language. Maybe a simpler English statement would be "Automatic types", using the word automatic, which is more wide spread and is adopted in many languages. The meaning is not as precise but the document can then further explain what it is.
I am not a native English speaker but have become so used to using it that it is sometimes difficult to know which terms cause issues to programming language learners. Perhaps HN is the wrong place to ask this but I would be very interested in knowing which terms other non-native speakers have problems with.