Arielle Schlesinger, a student in Technology and Social Change (at an unnamed school) who is working on a thesis about Feminist Programming Languages, has written a couple of blog posts about the topic at HASTAC: Feminism and Programming Languages and A Feminist & A Programmer (Brian Lennon has a thoughtful reaction, “A Feminist Programming Language,” to the sexist backlash against these pieces at his Chronodocket blog). I wrote a somewhat detailed set of comments that I posted on the Feminism and Programming Languages entry, and thought they might be of interest to my readers, though they depend to some extent on the material in the blog posting and the other comments made there.
- First, I encourage you to think about what problem a “feminist programming language” is supposed to solve. I think it’s much less clear than the label might suggest. Is the problem that non-feminist PLs produce non-feminist results? I don’t think that’s clear. Is it that non-feminist PLs contribute to an anti-feminist engineering culture? I think that may well be true, but that PLs are a small part of a much larger problem and that PLs in this sense are not an especially apposite site for political action. Is it that a feminist PL might encourage more feminist-friendly computing products? Again, this seems possible, but it’s not clear that the feminist PL would be the most expedient route to creating those products. Is it a way of critiquing the existing paradigms? That’s important–something I engage in actively–but it’s not then necessarily an argument for the adoption of a feminist PL other than as a thought experiment. I think Tara McPherson’s experience with Scalar shows both the attractiveness of such an approach, but also its relative limitations with regard to spurring on or informing politically-resistant or feminist projects. To take a more general example of a scripting language, HTML has not been developed with much feminist input, but it has been used for a wide range of feminist and anti-racist projects, even if those are just putting texts and discussions on the web.
- You dip into the literature on feminism and technology, which is absolutely one of the places one should look for discussion of these topics, although I think it’s deeper than the current bibliography suggests. With regard to PLs in particular, I think a big lacuna so far is the discussion of feminist theory in philosophy, particularly with regard to formal logic and mathematics. This has been a thriving topic for a long time, especially in the late 1990s: what would it mean to have a “feminist logic” or a “feminist math”? PLs are more like logic and math than they are like languages (see 4 below), although the voluminous literatures on feminism and language (both philosophical and linguistic) and feminism and writing (ecriture feminin etc.) deserve consultation. I’d particularly recommend Andrea Nye’s Words of Power: A Feminist Reading of the History of Logic (Routledge 1990): http://www.amazon.com/Words-Power-Feminist-Reading-Thinking/dp/0415902002/ref=la_B001H6WH2K_1_1?s=books&ie=UTF8&qid=1387126985&sr=1-1 and essays in Falmagne and Haas, eds., Representing Reason: Feminist Theory and Formal Logic (Rowman & Littlefield, reprint 2002): http://www.amazon.com/Representing-Reason-Feminist-Theory-Formal/dp/B007K56N1S
- In The Cultural Logic of Computation (specifically Chapter 9, pages 209-215) I talk a bit about the politics inherent in various approaches to building programming languages, with reference to the cultural politics inherent in the thinking behind Object-Oriented Programming. My goal is not to attack OOP, but point out what kind of thinking goes into and supports them. There I talk briefly about two other paradigms, Subject-Oriented Programming (https://en.wikipedia.org/wiki/Subject-oriented_programming) and Aspect-Oriented programming (https://en.wikipedia.org/wiki/Aspect-oriented_programming), which appear to have been developed in part as reactions to the philosophical/conceptual underpinnings of OOP and which answer some of the challenges you’ve suggested–the “normative subject/object theory” you rightly note feminism has criticized. But it’s vital to note that neither has gained the kind of support that OOP has, even among politically resistant projects, raising questions about what such resistant formalisms are supposed to do. Both do more with relations than does OOP, although to say that OOP excludes relations is not, I think, entirely correct. There is at least one effort to develop Relationship-Oriented Programming: http://www.codeproject.com/Articles/298818/Relationship-Oriented-Programming.
- It’s important to assert something here that only seems to creep in occasionally, but which I will stake my life upon: “programming languages” are not “languages,” if by the naked term “language” we mean “human language” (and I’m frankly not sure what else we could mean). The affordances PLs offer, and the use we make of them, are quite different from human languages, and we need quite different analytical tools to approach them.
- I mention this in part because of your invocation in comments of the Sapir-Whorf Hypothesis, about which two points.
- First, Sapir-Whorf applies to human languages, not PLs, and for a lot of reasons I think it would be hard to make a convincing argument that the hypothesis as it is typically understood would apply to PLs, which is not to say that PLs do not in some sense “constrain the way we see and understand a given problem,” but this kind of constraint is quite different from Sapir-Whorf; among other things, many if not most programmers know several languages and approach problems abstractly first, before deciding which PL to code in.
- It’s not really accurate to say that “there is good evidence to support” the Sapir-Whorf hypothesis. The hypothesis itself has been disambiguated into several different versions (often classified as “strong” and “weak”) and it’s not clear that even Whorf believed in the “strong” version, and Sapir may not even have believed in the “weak” version (he said different things at different times in his life). All the evidence that linguists have generated has tended to circle around “weak” versions of the hypothesis, so that, for example, certain aspects of temporal perception, or the degree of completedness of action, may be affected, but in general, larger questions of conceptual structure are not constrained by language. There is a pretty good discussion of this on the Wikipedia page on Sapir-Whorf/linguistic relativity, which even contains a brief (and in my opinion somewhat misleading) note at the end about PLs: see https://en.wikipedia.org/wiki/Sapir-Whorf_Hypothesis.