A programming language isn’t something ordinarily considered capable of making a cultural statement. But Anuoluwapo Karounwi has done just that with Yorlang, a programming language designed to write small programs using Yoruba, a language native to South Western Nigeria.
Programming languages, mostly designed so both humans and machines can read instructions, often contain keywords from natural languages. The most popular programming languages in the world use English-inspired keywords and code libraries. This is probably because about a third of the world’s major programming languages were developed in English speaking countries and languages created in non-English speaking countries are often English-based for the benefit of a larger audience. An example of this is Python that was created in the Netherlands but is still based on the English language.
Although fluency in English is not a requirement for learning programming, just as fluency in Italian is not a requirement for learning sheet music, however, having a basic knowledge of English enables programmers to understand the regular meaning of keywords that appear in lines of code and gives context. A learner who has some knowledge of the natural language would find it easier to grasp programming language because he would understand the meaning of the keywords.
Anuoluwapo Karounwi was thinking about this natural language/programming language relationship when he created Yorlang. He imagined people who think in Yoruba would find it easier to understand programming, as beginners, if they could read the keywords in Yoruba, the language they were most familiar with.
Code in Yorlang
The Yoruba language is limited and does not provide for as many technological concepts as the English language. For instance, there is not a Yoruba word for software. While serving as a tool to document and preserve the language and culture, Yorlang increases the potential to expand Yoruba vocabulary.
If local languages are used more in everyday life, including technological work, instead of being isolated to informal relations, the vocabulary is sure to grow and incorporate new words to accommodate new uses. What then results is a richer local language in which one can carry on a decent conversation about say, technology, without having to frequently lapse into English.
By showing what programming in Yoruba looks like, Yorlang subtly demonstrates that local languages can have a place in technology and other connected conversations.
Although Anuoluwapo did not intend to make a cultural statement with Yorlang–he was simply being adventurous and hoping to ease the learning process for people like him–there are others who have done similar work with different intentions.
Ramsey Nasser created Qalb, a programming language in Arabic. “All modern programming tools are based on the ASCII character set, which encodes Latin characters and was originally based on the English language. As a result, programming has become tied to a single written culture. It carries with it a cultural bias that favours those who grew up reading and writing in that culture. قلب (Qalb) explores and challenges that by presenting a language that deviates almost entirely from ASCII.” Nasser said, about the Arabic-based programming language he created.
Code in Qalb
Although Qalb is a functional language, it cannot be used beyond the digital environment in which it was created. The language cannot interact with the rest of the internet in any meaningful way “because the world of computers is an English-speaking one.”
According to Mic, Nasser describes Qalb as “just an art piece and a provocation, an experiment to show that an Arabic programming language isn’t just elusive, it’s impossible.” He does not see the possibility of a usable programming language in Arabic.
The same way Anuoluwapo does not expect Yorlang to be a commercial language that gets widespread industrial usage.
However, with about 800 downloads and 6 contributors within two months of putting it up on Github, it will be interesting to see the direction Yorlang takes whether as a functional tool to teach programming or as a medium of cultural expression. For now, Anuoluwapo is just improving Yorlang to become a better version of itself.