This a thought experiment in examining programming communities as cultural, semiotic and socioeconomic artifacts. The main goal is to explore the analysis of emerging languages outside of technical criteria, which while imperative, often fail to explain the complex causes and consequences of trends in our sector. It focuses on Ruby as an example of radical culture functioning as a constructive agent of code. NOTE: This post is both US and Silicon Valley- centric.
PREMISE: The Tangled Web of Code and Culture
1. Programming languages are economic forces.
Code provides the basis for ecosystems that are fed by, and feed on, investment, revenue, careers and education. In many ways, languages are distribution networks for libraries, tools, platforms, packaging and licensing, communities. Thus the viability and spread of programming languages is not at all disinterested in economic factors.
2. Programming languages are political and socioeconomic.
Coding is, at its core, the ability to control machines and ultimately, to control users and shape their lives and behavior. Historically the barrier to power inhered in programming has been extreme. In the United States, programming and its associated culture, power and economic benefits have been restricted to middle America white males. Where programming as craft can be moved further towards the commodity line, it is outsourced as cheap labor in acts that skirt imperialism in their mildest form; in their extreme represent the systematic exploitation of foreign resources and the gutting of domestic ones. All specialized, non-commodity knowledge with economic bearing risks must serve a wealth distribution model, often patriarchy and nationalism.
3. Programming Languages are Cultural Artifacts
4. Programming languages are inherently viral and massively resilient.
A language’s foundational political and socioeconomic contexts and consequences are codified in proportion to its rooting in the technological fabric. Code spreads. Code bases are shared, forked, modified, copied, re- purposed, built on top of. Code is spawned in underlying infrastructure, embedded in stacks, shared inside of and on top of a thousand intersecting stacks and networks. In its most contemporary form, it propagates in a social graph rift with economic, social and sexual consequences. Code is hard to rip out, it is costly to rewrite. It grows webs of dependencies. Code carries its political and socioeconomic consequences into the technical infrastructure, where it can enforce and maintain the power systems that contextualize it.
Radical Constructions of the Actor in Programming
Coding communities both reflect and construct an actor base - or the people who use and implement code. As much as primarily white, male coding communities REFLECT an actor base, they also CREATE and PROJECT an actor base. Most coding communities functionally eliminate the possibility of a female actor except as a sacred and/or sexualized exception.
The fact is:
The vast majority of the technical infrastructure has been created by men.
The technical infrastructure….. as in, all of it.
Against the culture backdrop of a male-made global technical infrastructure, Ruby as a community is unique in constructing the possibility of a female or minority actor, with several emergent institutions specifically addressing adoption in the gender group, and perhaps more importantly, a consistently inclusive rhetoric:
Common Descriptive Words
open source simplicity general purpose lowering barriers learn fast easy newcomers beginners human
Look at these words as opposed to those that appear most frequently in Java:
Sun Oracle expert certification JVM Applets Applications Runtime specification Technical
The Big Shift
While very basic, this list of word typifies the ongoing friction between the programming languages of the traditional enterprise and high-level, “humanistic” languages such as Ruby, specifically as they relate to the construction of an actor. Today, technological ubiquity (the iOS platform, mobile networks, massively scaled social sites, etc) is not only possible but births a volatile and virtuous tension between the caustic, newborn socialist/capitalist hybrid clusterfuck of Free (massively scalable social networks, open source) and the patriarchal elitist vanguard of luxury, capex prohibitive hardware and white male bourgeoisie machine control.
As an economic, viral organism, Ruby lacks the historical legacy, the deep roots in infrastructure, the corporate control, and the barrier to entry that would make it profitable on yesterday’s programming ecosystems and business models- models which emerged in part as a function of programming as a highly specialized, expensive or outsourced skill functioning as an agent of patriarchy and racial supremacy. (Systems that are reliant on extremely specialized knowledge breed business and economic models that make that specialized knowledge highly profitable. See: Maintenance contracts. Services. Training. Lock-in. Proprietary technology. Computer science degrees). As a result, Ruby focuses on amplifying its inherent virality through the more democratic, social community values that have emerged alongside “Web 2.0” (Systems which are reliant on making knowledge (services, tools, etc) more highly available breed business and economic models which make adoption highly profitable. SEE: Advertising. Software libre. Social applications. Open source. API platforms. The new large-scale adoption imperative.)
This in part explains why Ruby is unique, even among higher-level languages, for its focus on making coding more accessible and inclusive. Descriptions of the language and its community often focus on learning, speed, and ease of use. Ruby is a front-runner in education of beginners and enabling under- represented or emergent populations, such as women and children, to program. Ruby as a cultural artifact and semiotic object represents the emergence of programming - and thus machine control and the access to power & wealth it implies – as a viable, available, community-enabled tool for minority populations. It is a step in re-creating how we construct gender as a function of, and actor of, programming and technical ability, and how we conceive programming and machine control in the context of actors.
MYTHOLOGY, FETISHISM AND CULTURAL TENSION
The technology industry, especially in most magnified and concentrated form factor (Silicon Valley), is equally if differently subject to the same fetishes, mythologies, sexualization, xenophobia and xeno-fascination as popular culture.
Machine Control Fetish
Mankind has a bizarre, normalized and omnipresent machine fetish that pervades every aspect of culture high and low, technical and consumer. Apple is a classic example of the sexualization and fetishification of machine power; this is also seen in consumer products like Svedka Vodka.
Ruby is constructed as a sexual, sensuous, and exotic language as a function of its core rubrics and the semiotic/anthropological contents of the ecosystem built around it. The names used to describe it have a certain luxury and rarity: Ruby, its libraries Gems. Two of the most popular Ruby PaaS platforms, Engine Yard and Heroku, illustrate the semiotic duality of the language: Engine Yard with its highly industrialized codification and Heroku with its visual sensuality, elegance, and appropriation of Japanese cultural symbols.
Race and Code
The Ruby community itself has been significant in the commercialization of the geek pop culture meme of “beautiful, elegant, simple code” and variations. In Ruby, programming is constructed as an aesthetic art, its ecosystem blending the dehumanized austerity of machine control automation with the evocative fetishification of Japanese culture and a new or reborn aesthetic sensibility of programming as art – all semiotic tactics that can flourish in the mass- marketing opportunistic breeding ground of a high-level, accessible programming language.
Whereas many programming languages appear ethnically neutered, Ruby’s heritage as a Japanese-originating language is a pervasive element of how it describes and documents itself. The strong ties between the US coding community and the Japanese Ruby community, as well as theongoing geo-centricity of Ruby core maintainers, has presented both a unique marketing opportunity and the need to navigate cultural tension through symbolism.
The pervasity of Japanese culture in the symbols and language used by US Ruby coders borders the practices described in Said’s Orientalism. The co-option and re-contextualization of stereotypes, which often serves to ease racial tension by the reduction of complicated racial relationships to simple linguistic and visual signs which can be used as (often sexual) propaganda by the dominant culture.
The Collision of Geek with Mainstream
While problematic for a number of reasons, including the reduction of cultures to objects in the service of differentiating machine control systems, Ruby’s Japanese fetish does indicate something about the larger trends and context of programming languages as they spread beyond their roots in search of large- scale adoption as a basis of economic viability. _As higher-level languages and frameworks which increasingly abstract from the binary language of bare metal into something which everyday resembles English and simple games more and more, geek cultures normally defined by technical differentiators will encounter, co-opt and blend with the established propaganda of pop and consumer culture. _
The Role of Founding Mythology
The centricity of Japanese culture in the Ruby community seems deeply related to the technical community’s fixation on founding mythology. Successful companies will build or discover the cult of personality – I was only in Silicon Valley for a few months and I had already heard more than I ever wanted to know about how Twitter and Apple were founded, about the cultures and philosophies of their founders, etc. Blown to new proportions by the availability of founder personality in the form of media, social networks, and events, the “founding myth” of a company, whether true or not, can play a large role in how we view a technology either favorably or disfavorably, and how we determine a technology’s relationships to our own lives and its future path.
In this climate of technical community obsession with founder’s stories and mythologies, it is no surprise that Ruby’s founder “Matz” has become something of a cult object, and his origination (Japan), a central part of the “Ruby story” that is told and marketed in the community.
- As programming languages and machine control become increasingly accessible to minority populations, the impact they have on constructing actors, power and community is a critical area of inquiry.
- With the increasing ubiquity and availability of machine control made possible through innovations in high-level languages, coding communities will increasingly be associated with, both opportunistically and by force, a larger propaganda machine.
- Programming is about sex, gender, money and race. Evaluating programming languages and their communities as merely technical artifacts obscures and silences a massive range of context and implication.