From Brazil to Wikipedia

The Surprising Journey of a Programming Language from Rio

(Alex Dixon / Flickr)

Last month, the San Francisco–based Wikimedia Foundation, which maintains Wikipedia, announced that it was changing the way some of the site’s more complex pages are configured. Prior to this, these pages were built using Wikipedia’s own homegrown template language. Over time, however, the system proved too limiting -- for example, editors had to come up with nearly a page of code just to determine the length of a piece of text. By 2011, the foundation’s engineers had started looking for a better solution. One of the options was embedding the popular JavaScript language, used in most web browsers. The engineers looked especially closely at the version of JavaScript developed by Google, the Internet behemoth based in nearby Mountain View, in the heart of Silicon Valley. But they eventually looked farther afield, settling on Lua, a programming language developed by a trio of researchers in Rio de Janeiro, Brazil.

How did a programming language from the global South manage to make it into one of the world’s most popular web sites? Lua’s story, as it turns out, tells a lot about the globalization of software development and the difficulties faced by innovators in developing countries.

I first heard of Lua eight years ago, when I traveled to Rio de Janeiro to interview software engineers for a research project that was recently published as a book, Coding Places. While in Rio, I met “Rodrigo” (who has asked to remain anonymous), who worked on a free and open-source web platform. He surprised me by telling me that the project was based on a new programming language, Lua, developed by a small team at Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), where Rodrigo had been a student.

I knew that PUC-Rio’s computer science program was considered one of Brazil’s best, and I was intrigued by the engineer’s reliance on local innovation. Even so, the project sounded futile. The world of software

Loading, please wait...

Related Articles

This site uses cookies to improve your user experience. Click here to learn more.