4 ms·
> It doesn't make sense to me that people in china, russia, europe, india, etc are writing code in english. Why not translate computer languages to their native
by zzzcpan 7y ago
> It doesn't make sense to me that people in china, russia, europe, india, etc are writing code in english. Why not translate computer languages to their native language?
It doesn't make sense to you, because people are not writing code in English, they are writing code using a set of characters, only some of those characters and some keywords overlap with the English language, namely latin alphabet and those keywords have different distinct meanings, than what they mean in English. Furthermore, most of the characters, including the latin alphabet, already have a significant part in every education system in the world. People are taught latin alphabet, some keywords and most of the operators you see in programming languages at school in math and physics classes. So, how in the world would it benefit anyone to have programming languages with non-latin alphabets? It can only make things a) harder to learn, because there is no utilizing familiarity with other fields people already studied and b) harder to share code and knowledge, because other people in the world can't read and input your non-latin characters.
By the way, this is the same stupid idea that got people to allow unicode variable names in programming languages.
- TazeTSchnitzel 7y agoProgramming languages are in English though. The keywords are pulled from English, the names of functions are clearly made up of English words, the documentation is in English first and often only English, the untranslated error messages are in English, the filenames are in English. Already speaking English is a massive advantage in understanding and working with all of that.
- stoicShell 7y ago> Already speaking English is a massive advantage in understanding and working with all of that. I think we're past that, it's become a de facto prerequisite now. You just can't become a programmer without at least written comprehension. You'll learn English anyway as you learn programming; but you'd do yourself a favor to double down — my suggestion: immerse yourself as much as possible, switch all your systems to English, watch only English TV, video, music, books, articles, etc. After 3-6 months, most people reported to me a "huge" leap forward, and within 2 years they can watch most TV un-subtitled (live shows are harder because less scripted, less grammatically formal I suppose, more idiomatic). In terms of programming and tech in general, a keen understanding of English helps understanding much of the subtext, the intent, the "between the lines" meaning of techs, concepts, namespaces. The same is true in some martial arts: in some countries, they have you learn only the original (say, Japanese) name of a technique. The problem is that it's hard to remember, it means nothing, it's just a burden; whereas it literally usually means simply what it does: "wrist torsion", "quick stun hit", etc. It may seem nothing but taking the time to translate all of it (at least), understand the language (at best), tells you a lot that you never hear because, well, it's obvious to those who speak it, and oblivious to those who don't. Cultural barriers are most confounding when they are invisible, unbeknownst to us. TL;DR; English is almost necessary to be autonomous in programming and tech in general, even if you can learn without you just won't be able to navigate such a fast moving landscape and make deep sense of it.
- zzzcpan 7y agoKeywords, names, filenames don't retain their meanings from English, so it's not important where they came from. And error messages use the same few English words, but mostly all those keywords, names, filenames. Documentation available in local languages is the only important part here. But documentation and other reading materials is an issue for people who are already many years in programming and the deeper they go into the field, the more necessary it becomes to learn English.
- elfexec 7y ago> It doesn't make sense to you, because people are not writing code in English What language are they writing in? What language is C, Python, C++, Java, C#, etc written in? Chinese? Greek? French? > they are writing code using a set of characters, only some of those characters and some keywords overlap with the English language, namely latin alphabet and those keywords have different distinct meanings, than what they mean in English. Care to name a keyword which has a different meaning in English? Also, every programming language is written in the american/english alphabet, not the latin alphabet. The old latin alphabet don't have the same letters as the english alphabet. > People are taught latin alphabet, some keywords and most of the operators you see in programming languages at school in math and physics classes. That's my point. It's simple. Why not just translate the programming language into their own native language. That way, people who don't know the english alphabet or the language can write code? > So, how in the world would it benefit anyone to have programming languages with non-latin alphabets? We already write in non-latin alphabet - the american/english alphabet. And you are missing the point. I'm saying that programming languages should be translated into french, swedish, russian, chinese, etc. Native languages, not necessarily just the script. As you noted, a programming language consists of a few keywords and operators. It's wouldn't be that difficult to translate programming language and code into people's native language. > It can only make things a) harder to learn, because there is no utilizing familiarity with other fields people already studied It's simply not true. Imagine if every programming language was in chinese or russian or french. Would it make it easier or harder for me as an native english speaker? It would make it more difficult for sure. > b) harder to share code and knowledge, because other people in the world can't read and input your non-latin characters. You can easily translate code. After all, you noted that it is just a few keywords, operators, etc. Using you logic, no other language should be used other than english. All literature should be in english. All music should be in english. Is that what you are advocating? Imagine what we'd lose in knowledge and culture? Imagine what we are losing because billions of people are not able to program because one language dominates programming. > By the way, this is the same stupid idea that got people to allow unicode variable names in programming languages. This should tell you that people should program in their own native languages...