Live data from Hacker News

Non-English-based programming languages

en.wikipedia.org

151–160 of 228 posts

Re: Non-English-based programming languages

#151
post #24

Seeing a programming language in your native language after working with English ones, you discover that it looks and sounds pretty ridiculous. My belief is that the native language is ingrained on a low level in the brain, so it's decoded ‘in the hardware’ and directly invokes meanings and associations, whereas a second language goes through at least some level of conscious processing. The very same way, I'm physica…

Programming uses the same words as regular English, but it is a completely different linguistic register, so there is never any conflict. It’s like working in any field with its own jargon — you use the meaning that is relevant to the context. In linguistics this is called the Relevance theory of meaning and interpretion, which explains why we do this contextual interpretation easily and mostly without thinking about…

> Programming uses the same words as regular English

Let us be clear that this is US English and not British, but I agree with your sentiment: that the keywords are more a linguistic jargon than anything.

Although the main topic here is about other languages, there are also nuances within the two main streams of English that it's also a little wierd sometimes.

For me, I spell color with a U: ie. colour, but when coding, it's always been the US variant. I've typed this word so much that when I need to type it in my variant, that colour just looks wrong, even though it's the correct spelling in (my area).

Occasionally, when skimming British code, I've come across colour variables and it looks wrong. Similarly, I've looked at French code and there are similar strange things that leak out. The same for Russian and Japanese code I've encountered, eg:

> function (char p)...*

The purist in me really wants to state: "everyone should type US English", but the more accepting part of me concedes that maybe keywords should be internationalised (/internationalized) too. Maybe a preprocessor system would suffice (eg somecode.c.jp -> somecode.c), but as you state: it doesn't seem right because of the 'jargon' nature of it.

The good news is that machine code and punch cards have no language, so maybe we could revert to using that and then we can neatly skip over this issue entirely ;-)

Re: Non-English-based programming languages

#152
post #2

I used to think about this when I was a student. I could totally make a programming language in Thai. Surprisingly, one of the main issues that I thought of was a cultural one. Thais culturally don't use a single word to encapsulate complex meaning. We use a combination of words to capture that kind of meaning. Just to give an example: a taxi driver is 'human-drives-taxi' in Thai. A barber is 'tradeperson-cuts-hair'.…

Back in the 80's, when C++ first became a thing, we tried to find Japanese words for the concepts. Destructors became "Death Tractors", which I always thought was awesome.

Isn't that just a straight up transliteration? Destructor -> デストラクター desutorakutaa -> "death tractor" デス トラクター desu torakutaa.

This can happen in English too, eg Experts Exchange Expert Sex Change.

Re: Non-English-based programming languages

#153

Earlier quoted context omitted.

Programming uses the same words as regular English, but it is a completely different linguistic register, so there is never any conflict. It’s like working in any field with its own jargon — you use the meaning that is relevant to the context. In linguistics this is called the Relevance theory of meaning and interpretion, which explains why we do this contextual interpretation easily and mostly without thinking about…

> Programming uses the same words as regular English Let us be clear that this is US English and not British, but I agree with your sentiment: that the keywords are more a linguistic jargon than anything. Although the main topic here is about other languages, there are also nuances within the two main streams of English that it's also a little wierd sometimes. For me, I spell color with a U: ie. colour , but when cod…

> The good news is that machine code and punch cards have no language

Aren't most instruction names are English abbreviations?

Maybe we can internationalize those too. Just to be consistent of course.

Re: Non-English-based programming languages

#154
post #55

Earlier quoted context omitted.

I guess Russian is in a better position because it doesn't use compounds so much—but it made the borrowed programming terms into Russian words by freely inflecting them, which is a very Russian trait. Whenever an imported word doesn't sound quite right for Russian, it gets adjusted fast, similarly to how this occurs in Japanese. We now have a set of programming terms that are a mix of: borrowings which already existe…

Interestingly Slovak and Czech have no problems whatsoever to use native Slavic words for technical terms, e.g. súbor for file (literally a collection of data, think сбор/собор in Russian), snímač for sensor (lit. taking off something, similar to the Russian съёмник), obrazovka for screen (place for images; compare to the Russian образ (image) and экран (screen, from the French écran)). There are more but I can't thi…

Not sure how ‘súbor’ is properly pronounced, but it seems Russian also has a computer-related connotation for it: https://i.imgur.com/JdgltUj.jpg

Including my favorite variant, the “Russian-English Computer Learning Set”: http://sannata.org/articles/subor.shtml

Though the manufacturer appears to be wholly Chinese.

Re: Non-English-based programming languages

#155
post #140

Earlier quoted context omitted.

"int" doesn't really make sense from a mathematical perspective, since ints in e.g. C are a finite set that is not closed under addition or multiplication. So I think it's actually a good example of your broader point, that the meaning of English words as programming keywords is often very different from their meaning in other contexts.

> finite set that is not closed under The discussion was about programming languages and English. What on earth is this about? You're actually compounding the issue here, by invoking jargon from a different field. That's true of the definition of integers you'll find in college level math textbooks, but the word "integer" as understood by normal people (even computer programmers) means "whole number", which is why th…

My point was that 10^1000000000 is a valid integer according to the high school (or college) definition, but not in most implementations of c++.

Re: Non-English-based programming languages

#156
post #53

Earlier quoted context omitted.

I remember the english associations of programming words being pretty confusing, to be honest. Generic, for instance, means a standard or non-descript object. Abstract, for another, means something without concrete existence. Static means something that doesn't move, or electrostatic charge. Void is a pretty archaic/unusual word for a space. All these things are a little bit like how they are used in programming lang…

Capital letters didn't mean shouting until after the internet - or at least texting, BBSs and such - became popular.

This article has examples of SHOUTING going back to the 1800s

https://meh.com/forum/topics/capital-crimes-part-1--shout-sh...

Re: Non-English-based programming languages

#157
post #74

Earlier quoted context omitted.

I can't imagine programming with ESL and having to deal with code where some english speaker thought they were super clever and named various classes and variables after things that are super referential or punny. I see a lot of classes at my current job named after 80s TV shows or inside jokes. Maybe having ESL would make that type of thing easier to deal with actually since it drives me up the wall.

Classes named for inside jokes are an example of horrible programming practices which should never get past code review

Well that would assume such practices were around when that code was created.

Re: Non-English-based programming languages

#158
post #143
post #24

Seeing a programming language in your native language after working with English ones, you discover that it looks and sounds pretty ridiculous. My belief is that the native language is ingrained on a low level in the brain, so it's decoded ‘in the hardware’ and directly invokes meanings and associations, whereas a second language goes through at least some level of conscious processing. The very same way, I'm physica…

French here, that's my experience as well. I want to emphasize that the huge majority of the non-english native programmers I know are pretty opposed to translating programming languages. However, my experience teaching Japaneses has been that what is crucial if you want to make a programming language accessible to different nationalities is to translate error messages correctly. Learning IF, FOR, RETURN is not hard.…

I speak English natively and Japanese fluently, and in my experience error messages (and other messages) that were translated into Japanese are often of rather questionable quality.

But you're right, people who don't speak English very well (and aren't too experienced) often don't even notice non-fatal errors.

I still think that showing translated error messages isn't very good. 1) Messages are often translated poorly (I won't go into detail here) and sometimes don't even make sense 2) Googling for a translated message won't turn up (m)any results 3) Poor translations might eventually be fixed, but IMO error messages should be considered part of the API

I think the best recourse it to display the original message _and_ a translated message, or _maybe_ an (international) error code and a translated message.

The great thing about the Japanese language is that with kanji you can make messages extremely concise, e.g.:

"Access error: Array index is out of bounds" --> "エラー: 境界外読取/書込"

which would make it acceptable IMO to display messages side-by-side. (It's unfortunate that "error" became "エラー" in Japanese)

Re: Non-English-based programming languages

#159

Earlier quoted context omitted.

It can also mean ropes that are anchoring an object. "When camping, I enjoy pegging the guys" for example.

"When camping, I enjoy pegging the guys" can also have a wildly different (sexual) meaning.

Our friend @inopinatus was certainly making that joke.
Post reply on HN