Feminism and Programming Languages
hastac.org
hastac.org
Perhaps a little nugget of wisdom might fall out like how men and women tend to navigate differently [1].
[1] http://searchengineland.com/human-hardware-men-women-and-how...
Just because they're being addressed from the angle of feminism and their focus on how many cultural artifacts reflect male dominance in subtle ways doesn't make it any less valid to me.
Of course, a programming language created specifically for white males would be both racist and sexist.
Maybe it's me, maybe it's PCness gone full circle, but to encourage division doesn't seem the way forwards to me.
Where does the article claim that? Why would you assume that's even the point, when the author explains exactly what the intention is?
By spliting languages in feminist, imperative, functional, object-oriented, and logic, you're telling me that the four traditional types of programming is somehow not suitable for a feminin mindset. Why else seperate them like that?
These seems like a project that has feminism tacked on to it's label for no good reason.
By spliting languages in feminist, imperative, functional, object-oriented, and logic, you're telling me that the four traditional types of programming is somehow not suitable for a feminin mindset.
I believe the idea of a feminist [X] is not that X is unsuitable for women, but that it was shaped by men (which is true in the case of most programming languages, and probably paradigms). Maybe this doesn't matter, and a programing paradigm made by women would look the same, but you don't know without exploring the possibility.
It's similar to Feminist Aesthetics[1], Feminist Epistemology[2], etc.
[1] http://plato.stanford.edu/entries/feminism-aesthetics/
[2] http://plato.stanford.edu/entries/feminism-epistemology/
I was more than a little offended by the author conflating 'feminism' with para-consistent logic. Does no one else think that the idea of 'feminist' thinking embracing 'contradictions' smack of almost ridiculously self-caricatured sexism?
I don't think the idea is comparing existing implementations, but creating a new language, based on that analysis.
I was more than a little offended by the author conflating 'feminism' with para-consistent logic. Does no one else think that the idea of 'feminist' thinking embracing 'contradictions' smack of almost ridiculously self-caricatured sexism?
Maybe; I'm not familiar enough with the feminist critique of logic that the author mentions.
How far down does the patriarchy go? Are programming languages like C and Java, which were almost all created by men with awesome beards, inherently patriarchal? As the products of male minds, this is possible. What about assembler? Well, it's pretty much dictated by the design of the processor, which is based upon older processors, and even older processors, etc.. Women helped create these, but they were in the minority.
The foundations of computing are math and physics. We exploit the laws of physics to build transistors, and combine these to form flip-flops, gates, etc.. The basic logic that computers are built of is dictated by math. No matter how far I stretch, I just can't see anything gendered in transistors, logic gates, 0's and 1's. If you insist that this is not the case, then you are asking for a new branch of feminist science that has nothing in common with the science we know. Good luck!
Next, we can build computer out of our basic pieces. Modern computers are big, complex, beasts, and there is certainly room for the masculine mind to assert itself in how a processor is built. However, we can abstract things a little. Let's just stick to turing machines. Is a turing machine a product of the patriarchy? If no, we can abstract a language and build it to run on a turing machine, which can then be simulated by the processors of the patriarchy, and we're off! If yes, you need to invent a fundamentally new basis for classical computing theory. Good luck!
Okay, so if you believe me so far, it should be possible to build a male-cootie free language on top of a simulated turing machine. That's doable...
Okay. I'm done. Honestly, I think this kind of study is akin to literary criticism. i.e. It's a lot of pretentious wanking (Sorry about using the crass sexual argot of the patriarchy). However, the essence of academia is throwing a lot of random stuff at the wall to see what sticks, and if some of it's a bit fruity, hey, why not? Fruit can stick to stuff.
The idea is very simple: programming languages have different philosophies behind their design. Perl would be a good example here. So what would a computer language that was designed from a feminist philosophy look like?
Maybe it would be nothing new. Maybe it would be useless. Or maybe it would be great. Who knows till you try it out?
This research has parallels with Moldbug/Yarvin's Urbit[1], which also tries to challenge the existing paradigms in computing, but because it uses the "feminism" word, HN is incapable of having an adult discussion about the topic.
The response in this thread would be disappointing if it wasn't so thoroughly predictable.
Quite a few people have responded to this thread saying that they don't understand the OP, but the same is true of the thread about Urbit. I've been pleasantly surprised by how many of the people responding have done so in a reasonable way, stating their disagreement or their incomprehension in a way that invites someone to help explain the concepts in more detail rather than outright dismissing the possibility that there's something of value here.
In the beginning, feminists were concerned with how women were being directly oppressed by men. They fought against this, and laws were changed and social norms were changed, and now things are better than they were.
As feminism has advanced, it has climbed a pyramid somewhat akin to Maslow's hierarchy[1]; as concerns about the most basic rights have been addressed, attention shifts to other matters, to questions that one might describe as "academic" or intellectual in nature - it's no longer just about freedom from violence and the right to vote, own property or control one's own body, it's about ideas and beliefs and questions which are both very fundamental to society but also somewhat abstract - philosophy, in other words.
At this point, it's not unreasonable for feminists to want to re-open questions that have been settled in Western thought for centuries, on the basis that the settlement was reached almost entirely by men, and many of these men would have held sexist views which could have influenced their conclusions. Some of these re-openings will prove to be pointless - it might turn out that sexism is orthogonal to the question of logic anyhow. But it's worth checking, just to be sure. And some of the re-openings may turn out to be very useful and important.
What this is not is a question about Dennis Ritchie's beard. There's no such thing as a sexist transistor or a patriarchal processor. But our notions of how these things work, of how they ought to work, and what questions are worth asking and which are irrelevant, those things are shaped by history, and we need to step back and consider the paths not chosen, because there may be possibilities deserving of consideration there. (This is basically what Bret Victor keeps telling us[2]).
This is kinda why I don't really understand the geek vs feminist antagonism that everyone seems to take for granted around these parts. The feminist perspective is an outsider perspective that seeks to understand the true workings of the world, asks questions that others find awkward, disrupts outmoded institutions where necessary, and seeks to empower those who are often misunderstood and mistreated by society. That is also exactly the geek perspective.
There are, of course, plenty of pretty terrible feminists who do want to make an issue out of Dennis Ritchie's beard. I think it helps to think of them as being to feminists as brogrammers are to geeks.
[1]: http://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs [2]: http://vimeo.com/71278954
Writing for myself, I'm definitely antagonistic about feminism because I feel antagonized by it, e.g. being subjected to shaming for 'being a tool of The Patriarchy'.
I don't think any real female scientist would take such things seriously while at the same time sympathising with the idea (which I do, as well).
Why? The linked article doesn't make or depend on that argument.
Your entire response seems to be based on a bunch of presumptions about the word "feminism" and not one bit of actually addressing what is presented in the linked article.
Well, actually it is, but it's not intended to be. Some background reading:
http://www.scribd.com/doc/187505014/Representing-Reason-Femi...
"Many of the analyses reviewed earlier expose the symbolic association be-tween rationality and masculinity. However, since human development is shaped by society and culture, those symbols have repercussions for real, concrete human beings. We are constituted as knowing agents by symbolic representations, social practices, cultural discourses, and our structural positioning. Consequently, the ideal of detachment and the separation of reason from emotion that the rationalist world view promotes have been instrumental in constructing gendered aspects of the social order, in particular the subjectivities of Western privileged white men."
This is presumably a suggestion that the same principles be applied to programming languages. I read it as satire of the feminist idea that language is inherently oppressive. Are you sure it's not a joke?
Tell me more.
For example, in a programming language like C++ or Java, one is not required to think about the consequences of their design decisions. It is possible to design an API in such a way that it causes harm to another person or program, for example not using type safety, or being vulnerable to a buffer overflow attack. A vegan programming language would ostensibly prevent such harmful actions by way of its very grammatical and logical structure. It would be next to impossible to write a valid construction in a vegan programming language that causes harm, because you would be required to inform the compiler of your intent. Any such construction would simply be illogical, and cause an error to occur.
The differences between a vegan programming language and a non-vegan programming language could even be extended to include political correctness enforcement features. A compiler for a vegan programming language could be designed to include an artificially intelligent runtime library which attempts to decide if the actions of the program could put people or animals at risk to be harmed, and if so, modify the control flow of the program to prevent possible harm from occurring. This is relevant, because computers, and computer software, are being used as components in machines for the food industry (e.g. meat processing plants) as well as militaries (e.g. missile guidance systems.)
Disclaimer: I don't eat animals.
Ohh, I understand this! It's like in quantum theory or chaos theory, you know, which is why homeopathy works.
http://en.wikipedia.org/wiki/Paraconsistent_logic
Feel better now?
I recognize you can define your logical axioms as you wish, just as you can mathematical systems. But the question is always going to be: how powerful is your system and what useful things can be derived from it? Judging from the Wikipedia article here, that logic excludes lots of useful things we have come to expect from (you know, useful) logics, starting first and foremost with Gödel's completeness theorem.
She appears serious enough in the comments section. It seems a shame to characterise male logic as aristotelian, and the feminist version as holistic. That seems to do a disservice to the vast number of people of both sexes who have pondered the problem.
One way or another, I suspect that this will make terrific flame-bait.
So she's targeting the wrong thing. She needs to move to analogue computers (or somesuch) before addressing the language, or all she will be doing is creating an essentially male abstraction of female thinking.
Wouldn't this feminist programming language imply that this is not actually the case? That men and women truly are different and think in different ways and that this is not (solely) a matter of condition but natural differences in our brains?
I'm not really an expert on this but it sounds like you're describing a strict interpretation of first-wave feminism.
Second wave feminism started from the observation that many of the first wave's successes were very masculine women and argues that while women were now allowed into men's circles it was still on the precondition that they acted like men and essentially left their femininity behind.
The classic example of a first wave feminist is Margaret Thatcher who is undeniably a powerful woman but can hardly be called feminine. A good example of a second wave feminist is Sheryl Sandberg who became a powerful figure while retaining, and to some degree even capitalizing on, her femininity.
P.S. It's also important to remember that when it comes to studies like these it's important to keep the difference between gender and sex in mind.
> I'm so confused! Doesn't The Patriarchy ruthlessly enforce 'feminity' itself, as 'society' understands it? Wouldn't that necessarily mean that Margaret Thatcher might actually be the most feminine precisely because she adopts exactly what 'society' says is not feminine?
Yes. That is the viewpoint of first wave feminism as I understand it and I'm not one to argue in favor or against it. I can confirm that it's not a belief universally held by all feminists.
> Is it Sherly Sandberg's hairstyle(s) that make her more feminine than Thatcher?
No, even though that it's probably related. What makes her more feminine is that she embraces her softer and more nurturing side.
> Or did she "capitalize" on engaging in Patriarchy-approved feminine behaviors?
She capitalized on it to the degree that one could argue that given Mark's lack of soft skills her softer, nurturing, communicative side (which are indeed traditionally perceived as more feminine) were themselves a crucial asset in attaining her current position.
Can someone explain this to me?
Taken at face value that seems like a ridiculous statement, but I'm assuming there's a lot of context I don't know about. I tried googling for it, but only found stuff like this: http://www.indiana.edu/~koertge/rfemlog.html which didn't clarify thigns at all.
Edit
The author clarifies themselves in a comment:
> What is a feminist logic is a question I’ve spent the past six months thinking about and researching. There are not a lot of women in philosophy, and there are definitely not a lot of feminist philosophers, so I don’t have a good answer for this question. There is great scholarship talking about weather a feminist logic can build off of formal logic or if it has to reject the laws of identity and create something entirely new. There are solid arguments for both camps, personally I’m swayed by the constructive theories that would build onto formal logic through a feminist lens. There exist logics that handle contradiction as part of the system, namely paraconsistent logic. I think this type of logic represents the feminist idea that something can be and not be without being a contradiction, that is a system where the following statement is not explosive: (p && ¬p) == 1.
What does paraconsistent logic have to do with feminism?
It is to my understanding of feminism what Stephen Colbert is to Republicanism.
Where does she say this, even implicitly? Questioning the axioms of logical theories is just as much practiced by men, and has a large historical precedent.
I don't think it does still stand, does it?
For an interesting, not-overly-academic look at Sapir-Whorf, I recommend http://www.amazon.co.uk/Through-Language-Glass-Different-Lan...
[1] http://boingboing.net/2011/08/12/how-language-affects-color-...
As I recall (I could be wrong), the author's conclusion is that the ability of someone to think something or understand a concept isn't limited by language.
The author of this paper seems to suggest that the means by which we express computer programs have some link to human behaviour (causation in either/both directions).
Human behvaiour does, of course, have a massive influence of language. And I think a lot of the natural-language-redefinition and re-framing of concepts by interest groups to achieve their aims have certainly had an effect on society.
But I don't think Sapir Whorf is pertinent here. Unless people are learning about the world by reading computer programs.
Also, we've had half a century to express programs in all kinds of forms (LISP vs Java vs Prolog spring to mind). I'm not dismissing the potential effect that the gender imbalance has had, or the possibility of future achievements in computer science. I suppose I'll wait and see, firstly if this is a serious and credible paper, and secondly if anything comes out of it. But I don't think it will.
http://plato.stanford.edu/entries/feminism-epistemology/ http://plato.stanford.edu/entries/logic-paraconsistent/ http://plato.stanford.edu/entries/mathematics-inconsistent/
Paraconsistency is real branch of mathematical logic, and contrary to popular belief feminism is not a joke either.
That we can't tell whether it's an actual thesis subject or a joke tells something about the state of academic social science...
Now, since the underlying question seems to be "why women don't do (computer) science?", I'd like to ask the author: why did _she_ choose to comfort socio-sexual prejudices, by studying such a stereotypically feminine subject as social sciences? Why did _she_ decide not to become a developer, a lumberjack, a surgeon, a mathematician...
seriously though, it's a common problem for new PhD to start from manipulating concepts. we have all being there. in reality, great concepts emerge from practical, concrete and tangible things (in the case of programming, codes).
http://www.reddit.com/r/skeptic/comments/1n5tje/skeptical_ab...
The genesis of functional programming is obvious from its name - it is based on the mathematical concept of functions, and languages which are described as 'functional' try to remain close to the ideal of emulating mathematical functions, such that concepts which work in mathematics can be applied in computer programming. There are limits, of course - we need to interact with the world (state) and we have limits on the kinds of things that we can feasibly compute which do not exist in abstract mathematics, but the general principle holds.
Object-oriented programming does involve the assumption that we have a system which can be described as a set of objects interacting with each other, which can respond to requests from the user's program. The OP is arguing that this forces the programmer to see the world as a set of objects interacting with each other, or to objectify the world or things in it, in a manner that feminists have long seen as problematic (I don't personally see it as problematic per se, but this is not about me). The OP then suggests that a feminist programming language would offer a different paradigm of non-object-oriented programming.
I can think of a few critiques, of varying quality:
- There's a difference between object-oriented programming (how to structure a computer program) and object-oriented analysis and design (how to decompose the world into objects in order to represent the world within a computer program). The two tend to go together, but do not have to, and it is perfectly possible to program in an object-oriented manner without objectifying real-world things, e.g. people. The 'Person' object is a very common example in texts teaching people about object-oriented design, but is quite uncommon in real-world programming.
- I can, in a certain light, see how feminism and object-oriented analysis might be in tension. I am less clear on how functional programming and feminism might be in tension, but would very much like to know.
- I am not sure that calling this language 'feminist' is necessarily a good idea, since one could of course find it to be an excellent programming language without sharing any of the tenets of feminism, and the label actually obscures a lot more than it reveals in this context. It's certainly going to lead to a lower-quality HN thread than if this were a discussion purely about novel programming paradigms.
- Of course, one may simply disagree that there's anything particularly wrong with objectification, but at this point we're no longer talking about programming languages.
On the other side, this might turn out to be really interesting! We're nowhere near having discovered all of the possible paradigms that might underpin a programming language, and new ideas should be welcomed. The only way to know if a feminist programming language is a good idea is for someone to create one and demonstrate how it can be used. On longer time horizons, many of our current assumptions about how programming works may have to be discarded - the von Neumann architecture and the idea of deterministic, predictable results from computation may prove impossible to scale for certain requirements, so we might have to embrace programming languages that deal better with contradictions and the inability to 'cleanly' categorise things. If feminism's outsider status makes it easier for feminists to think heretical thoughts about computation then perhaps we shouldn't be surprised if feminists are a good source of ideas about these things. (Nor, of course, should we pigeonhole feminists or women in general as purely contradictory thinkers, valuable only insofar as they challenge established paradigms!)
EDIT: formatting
Instead of thinking of software as instructions to a computer, it treats programs as a thing that a human creates, and where other humans have to make sense of when they're using it. Female researcher C. S. de Souza has applied semiotics to Human-Computer Interaction,[1] and considers end-user applications as a "message" or "deputee" from the developer to the users. In this light, the designers weave a product based on their understanding about the needs of their users, embedding into it the messages that users should be able to grap, and would be useful for them.
Following the thread about Urbit, I've found some programming languages created after alternate models of computation. Stack-based languages,[2] SK calculus,[3] the B,C,K,W system...[4] are all quite different from mainstram programming languages. They all look too mathematical; but if functional programming can be though of as syntactic sugar over the lambda calculus, and object orientation is modeled after Aristotelian categories, maybe a new kind of programming language could be created as a pretty face around these concepts, that makes them more intuitive and easier to apply; and maybe that language could use a different set of overarching concepts. (I hear that reactive programming and agent systems are getting quite popular, based on the success of Erlang for robust systems and its applicability to multiple processors).
[1] https://en.wikipedia.org/wiki/Semiotic_engineering
[2] https://en.wikipedia.org/wiki/Stack-oriented_programming_lan...
If she's going to study modelling paradigms based on some variants of fuzzy logic, great; but she gives me the impression that she plans to do little real science, possibly because of limited mathematical abilities, and cover it with some sociological and militant mumbo-jumbo that Sokal wouldn't have disowned. "Non-normative" would then be an euphemism for "accessible to cognitively challenged people", which, ironically, would make this work violently misogynistic.
She's probably calling it "feminist" because the entire approach emerges from a strain of thought in feminist theory. That it is pretty far distant from what the average person thinks of "feminism" (and just as distant, though in a different way, to parodies of academic feminism), but that (both, really) is true of most things in of actual academic feminist studies.
> If she's going to study modelling paradigms based on some variants of fuzzy logic, great; but she gives me the impression that she plans to do little real science, possibly because of limited mathematical abilities, and cover it with some sociological and militant mumbo-jumbo that Sokal wouldn't have disowned.
I don't see support for either side of the dichotomy you propose here -- she discusses a number of concrete issues of interest (none of which are "variants of fuzzy logic", and all of which are serious theoretical areas.)
Where, particularly, do you get the impression you report?