this post was submitted on 13 Jan 2024
124 points (100.0% liked)

Asklemmy

1454 readers
57 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

If you're from a non English speaking country, do you first have to learn English if you want to get into programming?

top 30 comments
sorted by: hot top controversial new old
[–] ImplyingImplications@lemmy.ca 45 points 10 months ago (1 children)

Not programming but the question reminded me of Aviation English. All pilots and air traffic controllers must learn how to speak "aviation english" in order to communicate. It's essentially a few hundred English words and basic syntax all related to aviation. I'd say learning a programming language is kind of like learning Aviation English.

[–] EponymousBosh 2 points 10 months ago

TIL about Aviation English. Neat!

[–] peter@feddit.uk 43 points 10 months ago
[–] lupec@lemm.ee 34 points 10 months ago (1 children)

Ideally, you need at least some basic understanding to use the vast majority of languages. The problem isn't even writing the code itself, you can definitely just memorize the keywords and some basic concepts and have at it. If you ask me, the real issue is the availability, amount and overall quality of documentation and learning material if you go about it that way.

I have a few coworkers who skipped the learning English part and learned most everything from other non native speakers and they tend to be crippled by often not really being able to make use of official documentation or keep up with new things, since the vast majority of content out there is in English. It also has the unfortunate side effect of pushing them to stick with whatever it is they learned way back when and not really looking for better ways of getting things done.

So basically, you can pull it off without knowing English but it's going to be suboptimal and/or painful IMO.

[–] NeatNit@discuss.tchncs.de 5 points 10 months ago

This needs to be higher up, it's the most correct and complete answer.

[–] CallumWells@lemmy.ml 26 points 10 months ago (2 children)

There's always machine code, just writing numbers for the functions of the CPU. Or you have Esoteric programming languages like Brainfuck that doesn't use any words at all, it's just very simple instructions. There's Piet, which is a pixel colour based programming language.

To be frank; no programming languages are based on English, they are all based on logic. They are most often expressed in English, but there's really no reason one couldn't have a translation layer for every programming language. But that would make it a lot harder to find the solution if you have some fairly niche problem. Having everything in one language is simply more efficient since it doesn't fragment the questions and answers.

But a quick search gave me https://analyticsindiamag.com/6-popular-non-english-programming-languages/. The simple answer to your question thus is; No

[–] nabladabla@sopuli.xyz 2 points 10 months ago

All instruction sets are documented in English and it's more esoteric so the tutorial scene in any non-English language is less developed, so that requires even more English skill than memorizing a couple of keywords in a mainstream language.

[–] hallettj 1 points 10 months ago

The notion of programming languages that use non-word symbols reminds me that I want to try out Uiua. I guess it doesn't exactly fit the non-English category because the recommended way to enter symbols is to type names that are derived from English, which are replaced by symbols by the formatter. But I suppose it would be easier than most languages to internationalize since words are used in an entry method, not in the shared code.

[–] CanadaPlus@futurology.today 24 points 10 months ago

No. The Soviets had one that was basically C but a decade early called АдрСс (address). The higher-ups were skeptical of the concept of computers, though, so computing in the USSR languished anyway.

I think the Chinese have something going too. Mostly educated global people know some English anyway, though.

[–] crispy_kilt@feddit.de 19 points 10 months ago* (last edited 10 months ago)

No, they exist but they are rather rare.

Here is an example of a programming language that is completely in Russian: https://ru.m.wikipedia.org/wiki/%D0%92%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_1%D0%A1:%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B5#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B

That said, English is the lingua franca of the field of computing. You aren't forced to learn it, but without it, you'll deny yourself access to the vast majority of material out there, be it books, articles, papers, documentation, specification, and so on.

[–] simple@lemm.ee 16 points 10 months ago

If you’re from a non English speaking country, do you first have to learn English if you want to get into programming?

You don't necessarily have to learn English well, but yes, everyone programs in English. Some people put variable and function names to be another language, but generally English kind of "won" as the universal language and trying to deviate from it is almost impossible.

You may find Qalb interesting. It's an Arabic programming language made for research on the cultural biases of modern computer science.

[–] guillem@aussie.zone 14 points 10 months ago

My first contact with computers in school was with a dialect (?) of LOGO that used commands based on Spanish. GD (giraderecha) instead of RT (right) or AV (avanza) instead of FD (forward).

[–] rottingleaf@lemmy.zip 13 points 10 months ago (1 children)

Well, in ex-USSR there is 1C which in syntax is a bit like Pascal with Russian instead of English.

Also plenty of other languages using Russian keywords, but for the purpose of your question - I think it's safe to assume that anything relevant uses English.

[–] crispy_kilt@feddit.de 3 points 10 months ago* (last edited 10 months ago)

That's "One S", not "One C", for anyone reading this unfamiliar with Cyrillic. What looks like a Latin C is actually a Cyrillic S.

Also, while we're at it, leat's clear up one more misunderstanding: Many think Π‘Π‘Π‘Π  is Cee Cee Cee Pee, but it's not, it's really SSSR.

[–] HopFlop@discuss.tchncs.de 12 points 10 months ago

You kind of learn some English along the way while programming. At the beginning, you just memorize the commands and most of them use rather basic words anyway. Everything you name (functions/variables) you could write in your native language. Also, autocompletion helps...

[–] ofek256@lemm.ee 8 points 10 months ago

It's more of a gag language, but there's ChavaScript in Hebrew which is basically just translated JavaScript

[–] Simulation6@sopuli.xyz 7 points 10 months ago (1 children)

The French were working on an all French version of Cobol at one point, back when Cobol was still used.

[–] cypherpunks@lemmy.ml 7 points 10 months ago (2 children)

back when Cobol was still used

try searching for COBOL on any big job site, it's still in use today :)

[–] Simulation6@sopuli.xyz 4 points 10 months ago

Just maintenance work, for the most part.

load more comments (1 replies)
[–] sacredbirdman@kbin.social 7 points 10 months ago

Well, there are programming languages that are not based on English (like BQN) In reality though the vast majority of the documentation, books, online discussions etc. are in English so I'd say it is at least hugely beneficial to know English.

[–] schnurrito@discuss.tchncs.de 6 points 10 months ago
[–] mustbe3to20signs@feddit.de 6 points 10 months ago

You don't have to learn English to code but it's way easier.

[–] monsieur_jean@kbin.social 5 points 10 months ago (1 children)

Windev and Wlanguage (French).

[–] EponymousBosh 3 points 10 months ago

Skimming the replies, it seems like English is kind of the "programming" language the same way Greek and Latin are the "medical" languages? Huh.

[–] pseudo@jlai.lu 3 points 10 months ago

Do don't have to first learn english. You could learn the basic without it but don't except to be a good programmer if you are not confortable reading technical document in english.

[–] Nemo@midwest.social 3 points 10 months ago* (last edited 10 months ago)

While many languages read left-to-right and have other artifacts of English words order, you do not need to learn English first. Knowing English makes it easier, but learning English first would make it harder.

[–] lukini 3 points 10 months ago

I know it's not exactly the question, but C/C++ allow you to override any keyword with #define, so if you wanted, you can turn it into another language. I don't suggest doing that, but hey, you can.

Also somewhat related, but some languages like C# allow you to use Unicode in variable names.

[–] _MusicJunkie 2 points 10 months ago

Few people with access to resources to learn programming don't already know enough English to recognize the few keywords used in programming languages. So no, most people don't have to learn English specifically for programming.

[–] Wahots@pawb.social 2 points 10 months ago

This was a really interesting question with good answers! :)