> I've often wondered if English native speakers feel the same when reading normal source code which is always in English.
I think that depends on if they understand how to program. For me, as a native English speaker, a computer program is not speech.
In a program, there's three areas where the spoken language influences:
1: The keywords in the language: IE, "if," "switch," "return," ect. These take on a meaning in my head that is distinct from the meaning of the spoken word. "class" is a good example: Its use in programming is shortened from "classification" which comes out of category theory; but its use in English means something very different. Likewise, "if" in my head has such a different meaning in code that if "si" were used, it wouldn't make a different.
IE, in code we use "class" as if https://en.wikipedia.org/wiki/Class_(programming), which came from https://en.wikipedia.org/wiki/Class_(set_theory) and https://en.wikipedia.org/wiki/Category_theory; but in English it's commonly meant to be https://en.wikipedia.org/wiki/Class_(education).
2: The API names: By convention, APIs typically are English. Learning these is like learning any kind of professional lingo. I've never tried using a non-English API, and would probably struggle significantly if I had to.
3: My code itself: A significant amount of my time spent writing a computer program is making sure that my code is understandable to me and the other people who have to maintain the program. There's always going to be an "other-worldliness" to a program until someone understands the conventions and style.
"Class" in the sense of classification and taxonomy is a common English word used in many contexts: working class, second class, business class, etc. Those aren't obscure concepts. I don't think it is any more weird than "if", though I am not a native speaker.
Years ago a read an introduction to category theory, and it was very obvious that it influenced object oriented programming.