Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


Interesting! I guess I am proven wrong. If you don’t mind saying, what country are you from?


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


Inference works in all Romance languages, as well — it's a Latin word and this use is extremely close to its use in logic (going back to Aristotle).

Anyway, I'd consider simple english a tool for introducing new concepts.

Learning programming still means that the concepts must be introduced, and having a new word to bind the new concept seems good to me.


But not in Slavic languages :)

I guess my point was just that I find the write up in "simple English" the same as the Rust book (I have just been going through it).

I would not have any objections if the term is introduced later on. To rely on it from the start just seems... well, the same as the book :)


As a non-native speaker, I'd find "type deduction" much easier to grasp than "type inference".


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 :(

I would still suggest to go with automatic :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: