You don't need to know that the keywords are actually english words. So to start the first program on a floppy on a C64 you would type
load "*",8,1
and back then I didn't understand what load means any more than I understood what ,8,1 means, I just knew that if I press this sequence of letters it will start summer olympics.
> But like, you can’t program Java without English right?
Sure you can, if you know Java, which is its own language distinct from any natural language.
Conversely, you can't program in Java if you know English, but not Java.
> A for-loop has to be written in English??
No, it has to be written in Java. It's true that Java keywords are mostly themselves borrowed from English (often by way of C++ or other computer languages rather than directly) with a use in Java that has some connection to the meaning in English, so its probably easier to learn Java if you already know English (even before considering that there is probably more and better documentation in English than other languages), but that's not the same as English being a requirement for programming Java.
A for loop and other syntax keywords are barely the only English people have to understand in programming. One could say that these could just as well be arbitrary symbols, and programmers would just memorize them. But think of all the concepts named in English such as exception, factory, facade, adapter, interface, iterator, needle, haystack, constructor, queue... you name it. Not to mention documentation. So yeah, some English is mandatory, even if we're not able to communicate properly. In some projects though it's not uncommon to use local language for the domain while still keeping technical concepts in English, like getAnniversaire() or PersonneTable.
It's like names of Pokemons. Every kids know that Bulbasaur is grass-poison typed and evolves into Ivysaur at Level 16. You have to memorize them all to be a good player and that's a whole load of nonsense! But that's not relatively huge undertaking, and nothing remotely like the full language.
Yes, for Java in particular you need to know the various English keywords. At least I don’t think anyone has written a non-English Java variant that compiles to the JVM just as Java would.
If you know another language than English, try Microsoft Excel in that other language. And even if not, just for fun install a non-English version of Excel.
They translated the keywords. Even if you've programmed in proper programming languages for years without knowing English, all the regular keywords to get stuff done you will know in English. And you won't be able to do a single thing in Excel coz none of the keywords work.
One good thing I guess: You can honestly say when they ask you "hey, you know how to program computers, right? Can you help me with this problem in Excel" and you can honestly say: Nope, can't, no idea how that works. See it doesn't even have a simple IF.
Yes, but you don't need to know what "for" and "while" mean in your language, you just need to know their behavior. The same way Arnold Schwarzenegger was acting without knowing much English - everything was phonetically spelled for him in early roles.
I learned Pascal before I learned many English words like "if". You don't need to know what "if" or "for" mean to remember those keywords or to know what they do.