this post was submitted on 13 Jan 2024
173 points (93.0% liked)

Asklemmy

44129 readers
563 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_[email protected]~

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 50 comments
sorted by: hot top controversial new old
[–] [email protected] 103 points 11 months ago (3 children)

Not sure about today but VBA (in the MS Office products) actually had translated keywords because Microsoft is batshit insane.

[–] Gumus 55 points 11 months ago (2 children)

I hate using Excel for this reason. ALMOST all functions are translated, so you're never sure what to look for. If you find a solution for a problem online? Doesn't work, you'd have to rewrite it in your language. And you can't even switch the language in settings, because it's tied to the OS language (maybe you can in recent versions, haven't bothered to check for a while).

[–] [email protected] 13 points 11 months ago (1 children)

This is why I never touch language setting in any OS. It's guaranteed I'll have some problem down the line because I can't search the problem or understand the solution if error crops up someday, because the menus are different.

[–] [email protected] 8 points 11 months ago (2 children)

Error messages are a pain to search for when they are translated too.

load more comments (2 replies)
[–] [email protected] 8 points 11 months ago

Not sure about VBA, but Excel formulas are actually saved in English and translated on file load. It doesn't translate strings though, so EVALUATE only works for users with the same language as the author.

[–] [email protected] 21 points 11 months ago (1 children)

Real world scenario happening to me:

Reinstall my win os to use French because a) back in the day you couldn't just change language, b) scrips were VB written french (so si instead of if etc).

[–] [email protected] 12 points 11 months ago* (last edited 11 months ago) (1 children)

Hehe French programming. It's probably like

essaye:
    faire_qqch()
sauf OhMonDieuQuEstCeQuiSePasse:
    imprime("putain")
[–] [email protected] 17 points 11 months ago (1 children)

Cucumber/Gherkin also has translated keywords (even Emoji.. smh) but there it actually makes sense because you actually write it in natural language.

[–] [email protected] 16 points 11 months ago

I am sceptical of natural language programming in general but I am also fairly certain that you would have to do a lot more than just translate the keywords to get something that looks natural in another language. Word order is different in many languages for one.

[–] De_Narm 67 points 11 months ago* (last edited 11 months ago) (2 children)

Even if pretty much all popular languages are based on English, you do not have to learn English first. There aren't that many keywords to begin with and your variables, functions and comments can be any language you want to. The hard parts of learning a language, like grammar, conjugation, pronunciation etc. all aren't needed.

That being said, English still is the agreed upon language and people probably won't contribute much to projects in other languages and you can't read most documentations.

[–] SquiffSquiff 36 points 11 months ago

Realistically you will always need to be able to read documentation for:

  • Your language
  • Your compiler
  • Your platform
  • The APIs you're calling

All of this will be in English even if your project is in another human language. Yes there will be translation for some of it available but it will be partial, incomplete, dated, etc. you'll be using English so much anyway and have people from other countries working on the code regardless that you're adding a needless barrier using a different national language.

Look at the French government open source codee for instance. The overall website is in French but the actual repos are covered and mostly seem to be in English

[–] ChapulinColorado 18 points 11 months ago* (last edited 11 months ago) (2 children)

I would say the largest loss for a non English speaker is not having the full context of the method and variable names, as well as the comments or API descriptions within the source code. My friends from Mexico all mention English is a requirement on basically any university offering computer science/engineering.

Edit: you can always use google translate, but that will inflate the time required.

load more comments (2 replies)
[–] [email protected] 57 points 11 months ago

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.

[–] [email protected] 54 points 11 months ago (2 children)
load more comments (2 replies)
[–] [email protected] 41 points 11 months ago (2 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.

[–] Potatos_are_not_friends 7 points 11 months ago (1 children)

Bash commands feel like fake English to me. I know they're abbreviations, but that's the closest I felt to simulating that feeling of a non-english speaker memorizing commands to do something.

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 34 points 11 months ago* (last edited 11 months ago) (2 children)

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.

[–] jaxxed 16 points 11 months ago (1 children)

I would say that while language constructs are typically English words, they don't really require English comprehension to learn. That said, the vast majority of programming support, documentation and community are in English, and are not accessible without English comprehension.

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 32 points 11 months ago (1 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

load more comments (1 replies)
[–] [email protected] 27 points 11 months ago (1 children)

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.

[–] Tum 15 points 11 months ago (1 children)

there's some really great mini documentaries on YouTube above the Soviet internet of the 1960s, which would have taken over as the central planning committee and managed the supply and demand automatically. When you look at what it was supposed to be, and why it failed (a lot of people worked very hard to make sure it wouldn't succeed) it's really interesting stuff.

here's one I watched recently enough about it; [https://youtu.be/cLOD5f-q0as?si=D8mVJiK603HPdgKY](Asianometry - Why the Soviet Internet Failed)

load more comments (1 replies)
[–] [email protected] 23 points 11 months ago (1 children)

Honestly, no. I do know English, however the syntax is always very far removed from actual sentences and learning how to use the syntax is way different from how languages work.

That said, you're kinda porked when it comes to reading through documentations, APIs, and watching tutorials, as most of them are in English.

I do have about 2 friends though who can code and are not particularly versed in English.

load more comments (1 replies)
[–] [email protected] 20 points 11 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).

[–] [email protected] 16 points 11 months ago (1 children)

Not that you mention it, it's kind of strange that Java isn't based on Javanese

load more comments (1 replies)
[–] [email protected] 15 points 11 months ago

Brainfuck certainly isn't. Most assembly languages use opcodes that are sorta English abbreviations, like STA for Store value in the A register. I haven't done much work in assembly but I think there are several standards which don't strictly speaking use English keywords.

I do recall hearing of a language described as "You can write in it in any language" I guess meaning the various bits of syntax are done with special characters? I forget which it is.

[–] [email protected] 15 points 11 months ago (4 children)

There are Arabic based programming languages, which is pretty interesting because right to left.

Generally though you need to know some English to learn the more widely used ones.

load more comments (4 replies)
[–] [email protected] 14 points 11 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.

load more comments (1 replies)
[–] Gxost 14 points 11 months ago

Yes. Although it's possible to learn programming without knowing English, English is required for those who wants to be good programmers. All documentation is in English, naming and comments should be in English too, otherwise it would be hard to maintain code for developers from other countries.

[–] [email protected] 14 points 11 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...

[–] [email protected] 13 points 11 months ago

I'm from a non-english country and some of my coworkers don't speak English at all, so... no. That said, it's very inconvenient and they use the google translator all the time (which is shit, told them to use deepl at least).

Anyhow, there are programming languages that aren't English based: I don't remember the names but, for example, there is one that uses Latin

[–] [email protected] 13 points 11 months ago

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

[–] [email protected] 12 points 11 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.

[–] NorthWestWind 11 points 11 months ago

wenyan is quite an awesome joke language based on ancient Chinese

[–] Crack0n7uesday 11 points 11 months ago

The OG SAP application was originally written in German, I don't remember what language it was written in but I remember writing automation scripts back in the day and being like "how do I convert this perl/Python/bash script into German".

[–] Gumus 11 points 11 months ago (1 children)

There's OSTRAJava, a parody esoteric language based on a very specific regional accent of the Czech language.

load more comments (1 replies)
[–] [email protected] 9 points 11 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.

[–] [email protected] 8 points 11 months ago

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

[–] victorz 8 points 11 months ago (1 children)

I think there was a language called like Mind Fuck or something, which looked like it only had special characters to do things. Check it out. Maybe not the best for learning though lol.

[–] [email protected] 13 points 11 months ago (1 children)
load more comments (1 replies)
[–] [email protected] 7 points 11 months ago (1 children)

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

[–] [email protected] 7 points 11 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 :)

load more comments (2 replies)
[–] [email protected] 7 points 11 months ago (2 children)

Windev and Wlanguage (French).

load more comments (2 replies)
[–] [email protected] 7 points 11 months ago

I learned to program at the same time I learned English. I learned the words if, then, else and while in this context.

[–] Chobbes 7 points 11 months ago (3 children)

There’s a few programming languages that aren’t based around English, but they’re pretty rare and I’m not sure many people use them. It’s kind of sad because it makes programming much less accessible if you’re not an English speaker… But it’s also sort of a blessing because it’s easier to understand code you might have to interact with because it’s probably written in an English-ish language with the Roman alphabet, and you’re not stuck trying to read Japanese or Arabic or something to understand a library. I have mixed feelings on it. It’s convenient for me as an English speaker, but it also seems kind of unfortunate. I’ve heard that computer science is a field which is having a pretty big impact on the spread of English in the world, but I haven’t found a citation for that and I’m not sure I believe it.

load more comments (3 replies)
[–] [email protected] 6 points 11 months ago
[–] qaz 5 points 11 months ago* (last edited 11 months ago)

I did. Not for programming itself because you only need to know basic keywords to write functional code, but because of all the documentation and guides surrounding it. There was information in my native language available but it simply wasn’t as good. And even if there was, most discussions about the related topics were in English.

[–] [email protected] 5 points 11 months ago

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

load more comments
view more: next ›