Code Is Political
Though computer code may seem apolitical, it’s far from it.
Image: Ruiwen Chua/Flickr
Remember TrumpScript, the satirical Python-based programming language targeting the eponymous presidential candidate that popped up on the internet earlier this year? It's unlikely that it will be used to write much software, but its quirks—including the tagline "Making Python great again" and the inability to run on computers in China and Mexico—resonated with those baffled by Donald Trump's election-season pronouncements. When did coding become political speech?
As it turns out, TrumpScript is part of a broader phenomenon in which programming languages serve non-computational purposes.
Prior to TrumpScript's release, a number of "esoteric" languages—Arnold C and LOLCODE, to name a few—surfaced, infusing blithe humor into computer code to create subcultural inside jokes. Concomitantly, and perhaps more surprisingly, artists and computer scientists have been revealing code as a political force, using its syntax, grammar, and orthography to encourage serious discourse about social change.
4Chan created an anti-feminist language called C+= (C Plus Equality); its code includes functions like "CheckPrivilege()" and "yell('RAPE RAPE RAPE RAPE!!!!!')"
Take قلب, a programming language written entirely in Arabic. Created by Lebanese-born computer scientist Ramsey Nasser in 2013, قلب (transliterated and pronounced as Alb in Nasser's native Levantine Spoken Arabic), is a Scheme-based conceptual art piece designed to challenge the anglocentric nature of computer science. Because the advent of software engineering arose in the United States, major programming languages—even those developed outside the US and Europe (e.g., Ruby and Lua, which originated in Japan and Brazil, respectively)—are written in American English. What's more, code must interact with other code in most applications; thus, building anything remotely robust in قلب (namely, something beyond a simple game or graphic) would be impossible. قلب, then, demonstrates not only what a non-English programming language might look like, but also how distant the world of computer science is from it.
While disheartened by the linguistic exclusions of software engineering, Nasser, who now lives in New York, told me he embraces the value of simply starting a discussion. "I've had programmers approach me online and say, 'I've never really thought about that. I've never really thought that every major programming language on the planet is written in American English.' That's a conversation we now need to have."
Similar questions have been raised from the angle of sexuality. As part of a 2008 UCLA master's project called Queer Technologies, digital artist Zach Blas developed transCoder, a strictly conceptual "queer programming anti-language" in the form of bundled .txt files. To create transCoder's framework, Blas took cues from the slang and hanky codes—systems in which gay and bisexual men wore color-coded handkerchiefs to indicate sexual interests—of LGBT communities in the '60s and '70s, which used invented language to subvert the conventions of mainstream culture. (Examples from one such language, Polari, include the words "bona," meaning "good," and "zhoosh," meaning "to style or dress up.")
In the spirit of these lexicons, transCoder uses imagined structures and functions to defy the binary logic of software (ones and zeroes) as a larger critique of identity binaries (male versus female, heterosexual versus homosexual). For instance, running the matrimonial function "iDo" causes a computer to self-destruct, while "metametazoan" deletes all language "that is representative of gender binaries" and "sets everything in the program equal to itself." In order to see how queer culture could interact with software platforms, Blas told me, it was necessary to use an alternative logical basis—to reject programming in its current form and reimagine it from the bottom up.
In his explanation, Blas paraphrased new-media theorist Wendy Hui Kyong Chun: There's never a purely technological solution to a political problem. "The way I interpret that comment is actually breaking things," he said. "If there could never be a purely technological solution to a political problem, you might have to break technology or do non-functional things to technology to try and reroute it to get toward that political solution."
Dismantling programming logic has struck feminist chords as well. In 2013, Georgia Tech Ph.D student Ari Schlesinger proposed an executable programming language built on feminist ideologies. Her argument, which she originally hinted at in a blog post: Historically, programming languages have lain on structures of domination. Software engineering consists of one agent (the programmer) giving commands, and another (the computer) receiving and, unless there's an error, obeying them.
To make a programming language feminist, she told me, would require shifting to a collaboration-based structure. Schlesinger contends that projects like the Distributed Open Collaborative Course (DOCC), which aims for a discussion-oriented, small-class alternative to Massive Open Online Courses (MOOCs often run by companies like Coursera or Udacity), and the anti-harassment platform Heartmob, have begun to turn the concept into a possibility. Still, it's nothing short of ambitious, and she knows years of challenges lie ahead. "For a project like this," she said, "you have to tackle the theoretical side before you begin developing, and the theory can take a really long time to sort out."
How do you make a programming language feminist?
Like most advocates of institutional change, Nasser, Blas, and Schlesinger have grappled with significant hindrances. On a regular basis, Nasser receives emails from Arabic-speaking programmers eager to code without having to learn English; every time, he must explain to them that they can't. Blas has also been working for months to restore his website, which became riddled with pharmaceutical ads and anti-gay comments from hackers who intended to "deface" it (alluding to Blas's 2013 Facial Weaponization Suite project, a queer and feminist critique of biometric facial recognition technology). And, in response to Schlesinger's blog post, 4Chan created a derisive anti-feminist language called C+= (C Plus Equality); its code includes functions like "CheckPrivilege()" as well as lines like "Toward the destruction of the techbro" and "yell('RAPE RAPE RAPE RAPE!!!!!')."
Despite their setbacks, these projects demonstrate a fundamental truth: though computer code may seem apolitical, it's far from it. "Just because certain forms are technical, it doesn't mean they don't have social or political influence. Computation can't have this pure, objectified, position-from-nowhere objectivity. Objectivity is marked in influence specifically by who you are and where you are and what you're bringing to it," Blas said. Nasser agreed. "We're becoming a little hesitant to call programming a universal medium, and that's what I'd hoped for."