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.
Asklemmy
A loosely moderated place to ask open-ended questions
Search asklemmy π
If your post meets the following criteria, it's welcome here!
- Open-ended question
- 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.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
TIL about Aviation English. Neat!
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.
This needs to be higher up, it's the most correct and complete answer.
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.
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.
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.
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.
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.
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).
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 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...
It's more of a gag language, but there's ChavaScript in Hebrew which is basically just translated JavaScript
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.
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.
You don't have to learn English to code but it's way easier.
Windev and Wlanguage (French).
The Windev advertising material is really something...
http://www.theregister.co.uk/2014/05/02/french_software_developers_are_all_beautiful_women/
Skimming the replies, it seems like English is kind of the "programming" language the same way Greek and Latin are the "medical" languages? Huh.
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.
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.
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.
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.
This was a really interesting question with good answers! :)