Live data from Hacker News

Non-English-based programming languages

en.wikipedia.org

181–190 of 228 posts

Re: Non-English-based programming languages

#181
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…

"Seeing a programming language in your native language after working with English ones"

That's probably the reason. I'd bet after working for the same time with 1C, you (or I, for that matter) would completely ignore keywords and names being in the Russian language. You'd die from the boredom much earlier though, but that's a different matter)

Btw, END IF is as weird as КОНЕЦ ЕСЛИ.

Re: Non-English-based programming languages

#182
post #12
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'.…

>Just to give an example: a taxi driver is 'human-drives-taxi' in Thai. A barber is 'tradeperson-cuts-hair'. So, the programming language would be really verbose. Just like German. A fridge is a cold-cupboard, a car is a driving-thing, etc. But While, if, else, for are concise words.

Most non-german speakers will find these pretty funny:

- lighter is fire stuff

- plane is fly stuff

- tools are work stuff

The term "Zeug" usually translates to "stuff" colloquially as "thing" would be a better fit for the literal "Ding".

Re: Non-English-based programming languages

#183
Possibly relevant here: a story about Donald Davies' inventing the work "packet" (in the networking sense) from Katie Hafner's book Where Wizards Stay Up Late:

Davies' choice of the word "packet" was very deliberate. "I thought it was important to have a new word for one of the short pieces of data which traveled separately," he explained. "This would make it easier to talk about them." There were plenty of other possibilities — block, unit, section, segment, frame. "I hit on the word packet," he said, "in the sense of small package." Before settling on the word, he asked two linguists from a research team in his lab to confirm that there were cognates in other languages. When they reported back that it was a good choice, he fixed on it. Packet-switching. It was precise, economic, and very British. And it was far easier on the ear than Baran's "distributed adaptive message block switching."

I wish that much thought went into other technical naming. (Looking at you, grep.)

Re: Non-English-based programming languages

#184
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…

It is very typical for Russians that we often feel awkward using old words in a new meaning to denote new concepts. Somehow it feels silly and imprecise, and we prefer to borrow the word from the language where a concept originated.

At the same time, in colloquial language we happen to replace English words with unrelated but similarly sounding Russian words. For example, saying мыло (soap) instead of 'mail' or 'поймать лося' (catch a moose) for activated stop loss order.

Re: Non-English-based programming languages

#185
post #48

Earlier quoted context omitted.

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.

From your 'death tractors' example, now I understand why people are debating changing 'master-slaves' to 'leader-followers'. Thais wouldn't want to call their machines (or anything or anyone) 'slave' with serious tone. It sounds offensive. Thinking about it, native English speakers might have internal struggle about many programming words. As a non-native english speaker, rude/strange/crude/offensive words don't real…

Explicitly translating master/slave to my native Dutch just makes me chuckle. It's like reading a rather upfront ad in the classifieds for folk who are into bondage and discipline.

Re: Non-English-based programming languages

#186
post #171

The Wikipedia list does not mention Tampio, an OO language where programs are written in proper Finnish: https://github.com/fergusq/tampio As an example, here is kertoma.itp (an example routine to calculate a factorial): Pienen luvun kertoma on riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi, joko yksi tai pieni luku kerrottuna pienen luvun edeltäjän kertomalla. Luvun edeltäjä on se vähennettynä yhdellä. Ol…

The article also does not mention that not only Excel Formulas are localized, but VBA was localized in Office 95 as well [1]. This is German VBA: Funktion VorherigerGeschaeftstag(dt Als Datum) Als Datum Dim wd Als Integer wd = Wochentag(dt) ' Wochentag liefert 1 für Sonntag, 2 für Montag usw. Prüfe Fall wd Fall 1 ' Auf Sonntag wird Datum vom letzten Freitag zurückgegeben VorherigerGeschaeftstag = dt - 2 Fall 2 ' Auf…

The localisation of Excel goes even further. If I send a normal CSV file (that is, one containing values separated with actual commas and newlines) to an American, their Excel can open it.

If I send the same file to a fellow Dutchman, their Excel can't.

Excel, for some obscure reason lost in time, decreed that the Dutch do not, in fact, separate their comma-separated values with commas. We use semicolons. No one seems to know why Microsoft thinks we apparently do this. That means that a normal bog-standard CSV file won't work by just double-clicking it or opening it in Excel.

That's right: a Dutch comma-separated values file must have semi-colons according to Excel.

LibreOffice meanwhile works with anything you throw at it, in any language, of course. It'll just ask you about the separators, defaulting to commas.

Re: Non-English-based programming languages

#187
A somewhat related thing I've had on my mind:

I remember at my Dutch university we would get intro to programming courses in Java. We would often discuss things in Dutch, but found it awkward to talk about `null` (the "pointer") and `0` (the integer, which in Dutch is "nul").

In fact, I remember a distinct bug that happened from informal communication of an API. The conversation went (in Dutch):

    Student 1 - "What does Function A return if the input is invalid?"
    Student 2 - "Nul"
    Student 1 - "Null?"
    Student 2 - "Yes".
And the program went on to crash on a divide-by-zero exception, because it ended up only checking the return value for Null, rather than 0.

We ended up saying "null" as "naL", with heavy emphasis on the L and kept 0 as "nul", to somewhat mitigate these problems. The awkwardness never really went away.

I wonder if Guido van Rossum when designing Python intentionally bypassed this issue by naming the null pointer "None". This is the only language I know of that uses None, some use "nil" AFAIK, but the language issue (in Dutch) is not avoided in these cases.

I also wonder if other non-native English speakers who wrote English-based programming languages have applied similar considerations to avoid possible confusion between the native language of the speaker and English.

Re: Non-English-based programming languages

#188

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. That's debatable. It's impossible for me to say "if" in any context without thinking about programming now. I can't help it.

That's a good point: "never any conflict" describes the final state rather than the growth process. When I was a younger programmer (as in, during the first few years), I discovered that assuming boolean / formal logic meanings for {if, or, else, and} in communication with my spouse (art + sales, and very smart, though not a programmer or trained in symbolic logic) resulted in, shall we say ... miscommunication. So I…

The old classic:

Programmer's spouse: Honey, go to the shops and buy 1 bottle of milk, if they have eggs buy 6.

Programmer brings home 6 bottles of milk.

Re: Non-English-based programming languages

#189
post #172

Earlier quoted context omitted.

I second the neighbor's request for references, since your claim goes against the accepted ‘wisdom.’ Note also that your claims don't actually refute pasabagi's original conclusion. If lowercase text is easier to read because of its ubiquity, this still means we should use lowercase text—the same way that we use the right-hand rule for screwing things in and out. Books, and lowercase, were around longer than telegrap…

> I second the neighbor's request for references https://docs.microsoft.com/en-us/typography/develop/word-rec... > since your claim goes against the accepted ‘wisdom.’ This is overly generous as a description of a collection of myths that have been known false for decades. > Note also that your claims don't actually refute pasabagi's original conclusion. If lowercase text is easier to read because of its ubiquity, th…

> if we ignore your advice and use capitalized text, capitalized text will be common enough that the advantage of lowercase text disappears

I see you're talking about some alternative universe where you convince significant portion of publishers (if not a majority) to switch to uppercase. The practical question is, did teletype or early programming languages or road signs flip us over to that universe? Doesn't seem so. In the world where I am, lowercase text is more legible because it's ubiquitous.

Re: Non-English-based programming languages

#190

A somewhat related thing I've had on my mind: I remember at my Dutch university we would get intro to programming courses in Java. We would often discuss things in Dutch, but found it awkward to talk about `null` (the "pointer") and `0` (the integer, which in Dutch is "nul"). In fact, I remember a distinct bug that happened from informal communication of an API. The conversation went (in Dutch): Student 1 - "What doe…

> This is the only language I know of that uses None

In the ML family the empty alternative of the `Option` type is called `None`; in Haskell corresponding `Maybe` type has `Nothing`.

Post reply on HN