Hacker News new | ask | show | jobs
by resouer 2204 days ago
This question actually shocked me.

At least as East Asian ppl who speak Chinese, Korean or Japanese etc, it's way easier for us to discuss CS (or anything else) in native languages.

I think this difficulty only exists in certain western languages.

2 comments

I think it is hard to categorize Chinese (I imagine you're speaking about Mandarin?), Korean, and Japanese all together for a general statement.

I have read some Japanese programming books. For programming, and IT in general, Japanese borrows heavily from English vocabulary for novel terms, along with using a lot of abbreviations which also come from English.

So you will see sentences such as: "hoverイベント 要素にマウスが乗った時、外れた時に指定した処理を行う" which uses literal "hover" with borrowed イベント(ibento:event) and borrowed マウス (mausu:mouse) all within one short sentence. You will very often find sentences made up mostly of borrowed words when describing a new term and its context.

Korean also borrows a lot of terms from English, but I feel I run into it to a lesser degree than Japanese.

For example: "여담으로 외국 오라클 홈페이지에 들어가면 Java SE 11버전까지 나와있지만 8버전을 사용하는 이유는 버전이 높을수록 새로운 기능들을 제공하지만 안정성이나 버그 등의 문제가 있기 때문에 8버전을 사용하였습니다", where you see borrowed words "오라클 홈페이지" (orakeul hompeiji:Oracle Homepage), "버전" (beojeon:Version), "버그" (beogeu:Bug) along with literal English "Java SE 11". So it also has a lot of borrowed words, but they're more spread out through the actual sentences.

I do not know either traditional or simplified Chinese well enough to comment on that. But from talking with the native speakers I know or work with, it seems like Mandarin does not directly borrow as much English as Korean or Japanese.

Between the 3 you mentioned, I feel Japanese would probably have the hardest time trying to describe CS in its native language without using borrowed words, because a lot of words are no longer thought of as "borrowed" since they're so frequently used. I can not think of any good words to use as replacements that would not sound archaic or forced.

Ok so sadly my Thai is not where it should be, but it also heavily uses borrowed English words, that it masterfully butchers. Thai language has only a fairly limited number of ending sounds and also usually needs consonsants attached to a vowel. For example so a master branch, would be a somethign like a masta brand, I'm guessing. Here's an example of some non-IT terms http://pickup-thai.com/loan-words-from-english/
How do you deal with programming languages' being so based on English?
The languages themselves are no problem, you already use non-English for important programming constructs without thinking about it like !, ||, &&, etc., and have to explain their function in English upon first encounter.

CJK have different strategies for localizing technical terms. I don't know about Korean, but Japanese tends toward transliterating English terms whereas comparatively Chinese tends toward inventing calques.

I am a (non-native) Mandarin Chinese speaker, and I'm essentially unable to have the most basic conversation about programming. No terms that I'm aware of are phonetic transfers (Chinese does that occasionally, but not often), they're all new terms, and I can't formulate a single sentence without having to look everything up. It's like having to relearn the language -- very frustrating!

(Not saying they should be doing it this way -- in a way I'm glad they are.)

In terms of general science and technology I find the Mandarin names more illuminating. English technical vocabulary tends toward coinages from Latin and Greek roots that obscures their intuitive meaning to high schoolers. e.g. the word "commutative property" in Mandarin is a plain-language "exchange rule", with no appeal to classical vocabulary.
To be fair, most of those "obscure" coinages in English were not so obscure when they were coined. Until rather recently, members of "academic society" were expected to know some degree of Latin and Greek.
I do not see programming language as English. Sure it may use alphabet and borrow some english word but to me it still hardly english.
Sure, but there's quite a few keywords in English. And then there are so many APIs and so much source code with symbols that consist of English words.
> I do not see programming language as English. Sure it may use alphabet and borrow some english word but to me it still hardly english.

Assembly language was invented and created in english to make it easier for english speaking developers to program. Nobody wants to program machine code.

Then higher level languages were invented to make it easier for english speaking developers to program. Nobody wants to write assembly code.

If java, javascript, C#, C, C++, etc aren't english language programming languages, then what language is it? Spanish? Japanese? Swedish?

>If java, javascript, C#, C, C++, etc aren't english language programming languages, then what language is it?

What languages? Its a language in its own right. Its a programming language. Specifically java, javascript, C#, C, C++ language.

You are being deceptive here. The original point is "How do you deal with programming languages' being so based on English?"

Nobody is saying that C or C# is the english language. Of course C and C# are programming languages. You aren't saying anything of importance here. But it is based on the english language using english words to help english speakers write programs.

I already gave you the history of the development of computer programming languages.

"Assembly language was invented and created in english to make it easier for english speaking developers to program. Nobody wants to program machine code.

Then higher level languages were invented to make it easier for english speaking developers to program. Nobody wants to write assembly code."

If you disagree then go read the AT&T or Intel manuals and tell me what language the syntax was written in. Go read the C grammar/syntax or the standard library, what natural language are they written in?

Chinese? Russian? Swedish?

(In Japanese) For beginners to medium level programmers, there are more than enough learning materials (online, books) in the language. We also have the Japanese words for most of CS terms such as object-oriented programming.
AFAIK the Japanese term for object-oriented programming is オブジェクト指向プログラミング (object shikou programming). They only translated the "oriented" part, which is a very generic term and not by any means technical.