This is an reply to a series of posts on anglo-centrism in programming languages that have been floating around in Gemini lately.
- gemini://nytpu.com/gemlog/2021-10-31.gmi
- gemini://alsd.eu/en/2021-11-04-thoughts-anglocentrism-cs.gmi
Around thirty years ago I was a kid with a computer. I learned to program quite a few years before I learned English. I also used DOS without understanding English. I knew what to type to do things, but I didn’t know what the words meant. I could start programs, I’d play in QBASIC, write small programs and amusements. To me “PRINT” was the word that made text appear on the screen. I learned years later the word meant something in English. To show you what my child eyes saw, I think rot13 does convey the experience quite well;
X = 0
QB
CEVAG "X=", X
X = X + 1
JUVYR X < 10
I didn’t know what any of the words meant, but I knew what they did, and I don’t think it was that much of an obstacle. I also don’t think having the words in my native Swedish would have furthered my understanding very much. What 6-7 year old knows words like “variable” or “vector”? I knew them by what they did.
Sometimes the compiler gave me an error I didn’t understand, but like most children, I was tenacious and didn’t let that deter me from drawing moving shapes on the screen.
In the years between then and now, I have learned English.
It should also be added that localized programming languages have been tried. I don’t remember which version it was, but some ’90s version(s) of Microsoft Office shipped with a weird localized BASIC-language, where all the keywords were translated into the local language. It was bizarre to say the least, and unexpectedly not a big hit.
In practice, having localized programming languages means you need to live in a big country with lots of programmers to get quality software for your computer. The local developers are also cut off from sharing or selling their code internationally. This really makes things much worse in the very small countries it’s supposedly trying to help.
Likewise, trying to design some Esperanto programming language to somehow level the playing field, I dunno, I don’t think it actually helps. Or rather, I don’t think English is as big of an obstacle as it’s made out to be.
In the end, the names and keywords in programming languages are hints as to what the keywords do, even a programming that draws heavily on English doesn’t require a particularly large vocabulary or deep grammatical understanding, you can get away with knowing a couple of dozen simple words. That is not a steep price to pay for the ability to partake in a global community of software development.
The more I think about it, the less I understand what the problem is.