If you’re from a non English speaking country, do you first have to learn English if you want to get into programming?
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
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.
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
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.
English is the language of science and trade on the whole, which I think can be a good thing for the aforementioned reasons in your comment. Makes it much more universal.
I was on a trip in Spain, where students from all over the world came to learn Spanish. There were Americans, Japanese, Germans, etc (others I may have forgotten since this was during highschool!), but the gist of it is that everyone spoke their mother tongue, but the only unifying language there was Spanish. It was incredibly interesting speaking to someone who only knew Japanese and Spanish, where I only knew English and Spanish. People would talk to their friends in their native language, then relay what they said in Spanish for everyone else. It was mindblowingly cool to have a universal language to an otherwise insurmountable language barrier.
This also happened, somewhat annoyingly, in other parts of Spain. You’d be eagerly trying to practice Spanish, and spanish people would hear your accent, and would automatically switch to English for you. Same thing happened all across the world whenever we traveled. I always marveled at just how many people would switch to English whether we were in Germany or Zimbabwe.
Honestly, the world lucked out with a minimal Latin alphabet become the standard. English even lost its weird special symbols because all the good printing-press typefaces were made in Germany. It’s only twenty-six discrete characters (admittedly in two cases) and they’re the most common throughout all the European languages that, uh, spread their influence.
Shame you all have to deal with our bullshit spelling.
I try and pretend the spelling oddities are a feature and not a bug. If you can recognize the language of origin of a given word, it helps you know how to pronounce it,and often the definition.
Needing etymology to guess at pronunciation is why it’s bullshit.
People have tried to fix it. Their partial success just created more exceptions.
I always marveled at just how many people would switch to English whether we were in Germany or Zimbabwe.
English is an official language of Zimbabwe, and German is in the same language family as English. Try to speak English to commoners in Egypt, Eastern Europe, Vietnam or even France, and it wouldn’t be that easy.
I agree. I speak English very well now, but it is a weirdly hard requirement for a lot of jobs/hobbys in life.
You are interested in psychology? Awesome, go study psychology.
You are interested in physics? Here is a two year English course. You’re bad at languages? Well, sucks for you.I am wondering how much of an economic advantage it is for English speaking countries to have English as the base language of science. I bet at least 5% of students in other countries will not get as good as they could be because they are lacking the understanding of the language their study material is written in.
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.
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.
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.
You don’t have to learn English to code but it’s way easier.
wenyan is quite an awesome joke language based on ancient Chinese
It’s more of a gag language, but there’s ChavaScript in Hebrew which is basically just translated JavaScript
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.
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.
I love that, great analogy! I don’t think I’d ever make that connection since I’m pretty sure they both sounded about equally alien back when I was introduced to them 😅
This needs to be higher up, it’s the most correct and complete answer.
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.
The French were working on an all French version of Cobol at one point, back when Cobol was still used.
back when Cobol was still used
try searching for COBOL on any big job site, it’s still in use today :)
Just maintenance work, for the most part.
deleted by creator
Not an answer to OP’s question, but I know in PHP there’s at least one error message that’s in Hebrew.
Ah yeah T_PAAMAYIM_NEKUDOTAYIM https://stackoverflow.com/questions/592322/php-expects-t-paamayim-nekudotayim
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.
The higher-ups were skeptical of the concept of computers
It’s arguably dumber than that. The higher-ups treated R&D like any other centrally-planned ordeal, which meant a bunch of incredibly smart people in different countries were at each others’ throats for the privilege of trying to build a thing… rather than just building multiple things and picking the ones that worked.
When it was a 5-ton, room-filling affair - called the Small Electronic Calculating Machine, because all programmers are the exact same kind of dork - building exactly one kinda made sense. When the west had three competing 6502 minicomputers for like a hundred bucks each, it was just tight-fisted control for the sake of political grandstanding. The fuckin’ BBC rolled out a better centralized computing standard.
The root problem is having “a bicycle for the mind” in a country that restricts travel.
Mostly true, but Stalin also came right out with an essay that called it a fake capitalist concept, so that was part of it. I imagine Truman wouldn’t have gotten it either, but as you say in the US you don’t need everyone to agree something is a good idea to try it out.
The root problem is having “a bicycle for the mind” in a country that restricts travel.
This is the one I’m less sure about. They had censors but reading and learning approved content was also very encouraged, and in the early days it was a machine mostly just for number crunching. AFAIK computing languished roughly the same way as most basic research did, and Kateryna Yushchenko managed to invent something early anyway.
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)
Here is an alternative Piped link(s):
[https://piped.video/cLOD5f-q0as?si=D8mVJiK603HPdgKY]](https://piped.video/cLOD5f-q0as?si=D8mVJiK603HPdgKY])
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.
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.
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.
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.
Thanks to more and more languages supporting full unicode for symbols this will eventually be a thing of the past, fortunately: we can just switch to functions and variables being named only with one or more descriptive emojis.
Emojis as identifiers? That seems like an outdated solution. We really need gifs for that.
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