Coding and Human-Language Access
Published: 2022-04-04 23:52:14

We have all heard time and time again how accessible learning to code is. A simple google search will yield countless YouTube tutorials and free online courses. Career building knowledge has never been more easily available...that is if you speak English. The educational access barrier is coming down, you no longer need to attend a four year university to learn to code, however, the language barrier remains firmly in place. Over a third of coding languages are in English (or use English reserved words) and the use percentage/[PYPL](https://pypl.github.io/PYPL.html) of these languages far exceeds this. 

***I want to start with a huge caveat that I am a native English speaker and I cannot speak as well on this topic as someone who has experienced these barriers first hand. These are just my observations and resulting research.***

###Multilingual Coding Languages
There are "four programming languages that are widely available in multilingual versions. Not 400. Four (4)." Of these four, two are geared toward children. This is significant and important because Scratch (one of the two languages) has done a study showing that children who learn to code in a programming language based on their native language learn faster than those who are stuck learning in another language." It is possible to learn to code in a language that is based a foreign language. You can treat key words like `const`, `let`, and `break` just as you would treat other symbols like `<=>` or `//`. However, this makes an already difficult task much more difficult, and this is without considering the lack of documentation in other languages.

### Localized Programming Languages
Localized programming languages are an encouraging option, especially when it comes to education. These are languages that change "depending on where the user is from and their native tongue. One notable example of this is Citrine that allows user to program in their native language in an effort to try and improve software." When it comes to career access these languages can cause some difficulties with debugging or readability. However, I think they are a great option for education and learning your first coding language as subsequent languages are much easier to learn once you have the first one under your belt.  

### Documentation and Community 
Documentation for most languages is generally exclusively provided in English. If the community decided to make the docs more widely accessible, this would be a relatively easy fix as translating existing documentation would not be an enormously difficult task. A larger shift would be building out communities for these non-English-speaking learners. Everyone knows that developers rely heavily on Google and, "You need to find useful resources when you Google your error messages." Coding may seem like a solitary activity, but in reality you rely greatly on your community for help and support. These types of communities are not built overnight and can be difficult to develop. This is compounded by the fact that existing communities are not exactly welcoming a multi-lingual experience or business model. For example, Stackoverflow's official [policy](https://stackoverflow.blog/2009/07/23/non-english-question-policy/) is to flag or close questions and comments that are not in English. While this feels like a missed opportunity, it does seem that they are taking steps to expand and have since developed sites in Portuguese, Japanese, Russian, and Spanish. This kind of expansion of community will aid greatly in improving human language access for the coding field. 

### The Source
An interesting phenomenon with coding languages is that even if they are developed in non-English-speaking countries, they are generally still built around English syntax. Perhaps this has to do with the fact that the first coding languages were in English, however, the trend does not seem to be slowing down. Some of the most popular and "highly-used coding languages were developed in non-English speaking countries e.g. Switzerland (PASCAL), Denmark (PHP), Japan (Ruby), Brazil (Lua), and The Netherlands (Python)." The primary reason for this is that "even in foreign countries that have large tech industries, English is used as a lingua franca for communicating with developers across the world." This all contributes to limiting accessibility to a growing a lucrative industry. 

###Conclusion
While there are a number of non-English based coding languages like "Qalb (Arabic), Chinese Python, farsinet (Persian), and Hindawi Programming System (Bengali, Gujarati, and Hindi)," these languages are still primarily used for educational purposes.  

            Hello World! ‫ قول "مرحبا يا عالم!" ==

Hopefully, these languages can continue to expand. Gretchen Mcculoch phrased it as such, "The first website wasn't written in HTML—it was written in English HTML. The snippet of code that appears along the bottom of Glitch's reproduction? It's not in JavaScript, it's in English JavaScript. When we name the English default, it becomes more obvious that we can question it—we can start imagining a world that also contains Russian HTML or Swahili JavaScript, where you don't have an unearned advantage in learning to code if your native language happens to be English." It's all 1s and 0s under the hood, so why does the surface need to be so exclusive? Progress comes through reducing the educational barriers and continuing to not only expand our languages, but our documentation and communities as well.  

###Resources: 
[Wired - "Coding Is for Everyone—as Long as You Speak English"](https://www.wired.com/story/coding-is-for-everyoneas-long-as-you-speak-english/)
[Are There Any Non-English Programming Languages?](https://medium.com/geekculture/are-there-any-non-english-programming-languages-1054fb50a5ae)
[The Language of Codes : Why English is the Lingua Franca of Programming](https://ystudios.com/insights-passion/codelanguage)
[Qalb (programming language)](https://en.wikipedia.org/wiki/Qalb_(programming_language))