Like other smartphone makers, Apple is trying to keep China happy. Chief Executive Officer Tim Cook has made a half-dozen press-swarmed visits since taking over the company in 2011. (Steve Jobs made zero.) Apple began painting its iPhones gold in 2013 explicitly to appeal to the world’s largest smartphone market, Cook said in an interview in June. Although the company missed analysts’ estimates of its quarterly earnings in July largely because China’s demand for iPhones was lower than expected, its revenue in the country more than doubled from a year earlier. The iPhone accounts for the vast majority of China’s high-end smartphone sales.
Apple is also benefiting from work it’s not doing. Since June 2014, more than 100 programmers have contributed to an open source Mandarin Chinese translation of Swift, the in-house programming language Apple uses for iOS development. A round of finishing touches was added last month, making it easier for 850 million native Mandarin speakers to build iOS apps. The project’s originator is Jie Liang, a student at BeiHang University in Beijing, who wrote in a celebratory blog post that he began translating Swift to “synchronize China and the world.”
Like many of his fellow coders, Liang was interested in developing for Apple’s mobile devices but frustrated by the level of English fluency needed to work with its programming language. “I never thought there were so many people willing to join and contribute their own strength,” he wrote in the blog post. The Mandarin Swift translation has been accessed more than 2 million times via open source online host GitHub.
Native language has become an increasingly important factor in international software development. Since 1840, when Britons Charles Babbage and Ada Lovelace popularized the concept of a programmable computer, code has been dominated by English vocabulary like “if,” “run,” and “print.” Non-English programming languages exist: Mind (Japanese), Linotte (French), Analitik (Russian), Fjolnir (Icelandic), and Var’aq (Klingon). Even China has a Mandarin-native Easy Programming Language. But these are all niche compared with English-based languages such as Python and Ruby, leaving non-English speakers at a disadvantage.
To make code education easier for students in his native South India, Bostonian software engineer Muthu Annamalai created Ezhil, a Tamil-based programming language, in 2007. Yet like Babylscript, Ezhil is built atop an English programming language, partly to keep it more globally compatible, he says.
It remains unclear whether learning programming in one’s own language is truly easier, says Andreas Stefik, a computer science professor at the University of Nevada at Las Vegas. Maintaining English as the language of choice has helped coders around the world easily swap tips and algorithms, he says, and problems of comprehension “might get worse as natural programming languages get increasingly different.”
Edward Fox, a Mandarin-speaking coder, calls the Easy Programming Language “awkward, funny, and useless.” Fox says he started learning to program in English before he learned to speak it, using a Chinese textbook, and that the underlying concepts are more important than the words. “I just needed to memorize all the keywords letter by letter,” he says. “It’s like the relationship between learning math and learning the Greek alphabet.”
The bottom line: Mandarin-speaking programmers can now more easily code for iOS, but translation isn’t an industry trend.