Entangled Programs

This is, finally, my first post to this blog, which has languished for all this time, doing nothing. I had originally created it with the purpose of discussing “non-orthodox” approaches to creating programming languages. My initial inspiration was Arielle Schlesinger’s posts to the website HASTAC, mentioned here:

https://www.hastac.org/blogs/arielle-schlesinger/2013/11/26/feminism-and-programming-languages

https://www.hastac.org/blogs/arielle-schlesinger/2013/12/13/feminist-programmer

https://www.hastac.org/blogs/arielle-schlesinger/2014/07/14/feminist-code-critical-code-studies-working-group-2014

where she discusses the idea of constructing a “feminist programming language” – a programming language which draws its inspiration from feminist philosophy or incorporates feminist aims into its design.

This idea was not very well-received by the Internet – sexist elements came out so fast in their rush to deride this it wasn’t even funny. Within like what seemed to be literally a couple of weeks, a giant parody language, “C+=”, and even a political cartoon featuring a caricature of Schlesinger, appeared on the Internet, with the former loaded to the hilt with all manner of very juvenile and ignorant stereotypes of feminists and feminism. There were some sites, such as Y Combinator, where a few more serious posts were seen examining and critiquing the idea, but places like “4chan” were definitely full of hate. It reminded me of my own past, when I had been insulted badly on forums during my kid and early teen years, to the point where one forum made a “Mike Throll” cartoon ASCII comic strip mocking me. Yet it seems here, the reaction was extra swift and involved many different websites, not to mention that the work from the “C+=” group had slicker artistry than ASCII graphics – I will give them credit for at least being creative with their logos for the mock “Feminist Software Foundation” and so forth. I had only wished that if they wanted to mount a critique, they should have been a little less ignorant about feminism than what I saw in the parody language.

I, too, will admit that I too got mad at it, popping my head because it didn’t make sense or seemed contradictory. The few posts were loaded with various social-critic jargon phrases like “reifies normative subject-object theory”, “create entanglements”, and so on. Yet I eventually came back to it and couldn’t put it down, especially as I looked at the discussions on HASTAC a second and third time, as it seemed like it might be interesting. Talk of languages based on MUSH games, “mutual consent” objects, and so forth, and I started to think about how a couple of these ideas might work. This is where most of the serious talk was. There were also posts there offering interesting critique of Schlesinger’s hypotheses, in particular, arguments surrounding the legitimacy of the “Sapir-Whorf hypothesis” in linguistics and how/if it applies to programming languages, since Schlesinger’s contention was that such programming languages embody cultural or social values, and maybe also, could influence how a programmer thinks. I will admit that when you use different programming paradigms – not necessarily “languages” but at least paradigms, that is, what constructs you have available to you – it does affect how you organize the software. I also noticed a nice blog here:

http://www.uncomputing.org/?p=303

which gave some serious analysis/critique.

But I was really after this one about “entaglements” as an alternative to object-oriented programming. Regardless of questions surrounding whether it would make a more “feminist” language or what not, I was interested in the sheer theoretical exercise behind this. The word seemed strange and interesting. “Entanglements” – as in quantum theory? What could that have to do with a programming language, beyond the obvious application of a programming language for a quantum computer? I wanted to dig more. I wanted to see what this entanglement language would look like – would it be as “pointless” as all the naysayers were saying (usually juvenile with ignorant statements and so not really anything useful), or could there be something here?

Schlesinger referenced a paper called “Posthumanist Performativity” by “Karen Barad”, and when I opened that up, I was first put off almost immediately by the sheer volume of jargon the paper contained. “Dynamic topological (re)configurings”… what the …? Googling this stuff was of no help. I wouldn’t have had a clue as to where to begin to maybe look for a book that would have any of it in it.

So I tried on and off for much time thereafter, looking for various sources, articles, books, anything that could explain this stuff, especially Barad’s theories. I couldn’t get it. Once I enrolled in college to start my degree which was going to be a double in Physics and Computer Science (I have been an amateur programmer for over 20 years, although not consistently over that time), I ended up taking (also to fill a requirement) a course in Gender Studies with the aim of hopefully getting some basics down. Needless to say, even with preparation, this stuff is tough, but I am a stubborn person and so I persist. I looked at some of “Meeting the Universe Halfway”, but man it’s dense, and haven’t gotten around to the whole thing, right now just trying to get a summary of the basic ideas together so I can then go deeper. I even ended up sending Karen Barad herself an email asking for a small input.

Finally, now, I think I have a rough shot at starting to grasp some of this, and this is where I want to get input on this blog site. What Karen Barad’s “entanglements” are are part of this theory known as “Agential Realism”, which seems to derive its inspiration from quantum mechanics, in particular, philosophical ideas from Niels Bohr. (Karen Barad is an interesting personage. She seems to have started off a quantum physicist, but then underwent some sort of metamorphosis into a feminist philosopher.) It’s very difficult reading, and I want to point out that this is a preliminary understanding only, which means I invite very, very strongly any and all criticism from people with more knowledge and really, really want to see it. But from the reading and many false starts and dead-ends, I think I might be on to at least a rough possible outline of what’s going on here, which, if right, I hope will allow me to begin filling in the details to really understand Baradian theory to maybe shed some light on what a language based on this might look like. But here goes:

1. In Baradian theory, we dispense with the traditional notion of the existence of “objects” as discrete, self-contained entities and relations are incidental to the objects themselves.

2. Following that, the relations are considered to come first, the objects second.

3. In conventional theory, relations are produced by objects interacting. In Baradian theory, objects are produced by relations intra-acting, where an intra-action is not simply an interaction between relations as objects, but rather something within the relation that brings about the related objects. (Or “two objects interact to produce one relation” in conventional theory, but “one relation intra-acts to produce two objects” in Baradian theory.) The objects get their properties and identity through this process, as opposed to having a fixed identity from the start. The identity is contingent, not absolute.

4. The objects formed this way are said to be entangled. Entangled objects, being formed from relations, cannot be treated as separate or isolated (analogous to entanglement in quantum mechanics where the quantum state of an entangled system cannot be considered as merely the sum of the independent states of its components – indeed, Barad seems to draw the theory out of quantum mechanics.). To describe one you have to describe the other.

5. Entanglements are not static, but ever-changing in a process of “(re)configuration”.

Is this valid? If not, where is it lacking and so where does it need improvement? If this is not too far off, then I believe I have isolated the core which would be applied to the programming language constructs. The key terms would be object, entanglement, intra-action, with each of these some construct in the language – and I suspect that it’s in the intra-actions that the meat of the program logic will exist, so they would probably be analogous to the member functions on objects in an object-oriented language.

I notice there are some other terms, e.g. “agential cut” which forms a distinction between a “subject” and “object” – and I have not yet gotten around enough of the theory to get how those work here.

There is also the notion of a “phenomenon” in the theory, where these phenomena are a type of entanglement in which we have an “apparatus” or measuring device and something to be measured. The theorizing kicks off with the straightforward idea of a quantum lab experiment where you have a particle and a detector, and then proceeds to generalize like mad this concept to all kinds of domains. But these “apparatuses” are themselves subject to creation by intra-action, so then we could say that they are entangled with something else, and so on.

Is this anywhere close at all to the right track, or am I totally like … a mile off base? Right now I’m just trying to get together the basic skeleton of the theory – fill in the details later. This stuff is so damn dense and loaded with jargon terms, many of which seem to be Barad’s own inventions such as “intra-action”, “(re)configuration”, etc.

Though if this is even an inkling of what’s going on, it seems like it would be a fascinating programming language to use – one where the objects are dynamically modified in their properties, not just their stored data, over time, with groups of relationships defined as a net of entanglements comprising the program, and the objects within an entanglement may be part of other entanglements, which in turn would then interface with “the real world” in the manner in where the progressive definition of phenomena by ever higher “apparatuses that measure other apparatuses” eventually leads to an entanglement where the next apparatus in the chain is the computer user … and that’s what, in the program, marks the input/output terminals, and so we “blend” seamlessly (in our mental picture) from the world of the program to the real world.

What do you say? Please, post all the comments and input you can, and tell me if I’m totally washed out here or if I am onto something.

I want to emphasize though, as in my preliminary post to the blog, I will NOT tolerate any hate mail type comments, or any insult comments to either this work, this author, or to Arielle Schlesinger. Please offer some useful critique, not just juvenile jabs.

6 thoughts on “Entangled Programs

  1. Hey, I hope this isn’t too weird, but over at Abagond’s site on the Black Pete thread, where you responded to my comment, I got curious and clicked on your link.

    So, most of what you’re talking about here is way over my head, but this:

    “loaded with jargon terms, many of which seem to be Barad’s own inventions such as “intra-action”, “(re)configuration”, etc”

    sounds to me very much like academic jargon used in deconstructionalist post-modern criticism. Derrida-type stuff, heavily used in lit crit and cultural studies (e.g., women’s studies) and to a lesser extent in certain other areas of the humanities including social sciences; also some leakage into recent educational theories.

    If you’re not familiar with it, look up deconstructionalism for starters.

    I’m afraid that I don’t know much about deconstructionalism, either, not enough to help you translate the jargon. But I had to deal with it enough in grad school that I know the critter when I see it 🙂

    Like

    • @Solitaire: Cool to see my blog has garnered at least a little attention 🙂

      I have heard of deconstruction and Derrida before. It looks like I am going to have a long journey ahead — lots of reading and grappling to do — to understand this stuff, but I hope, a rewarding one.

      Like

  2. Deconstructionist jargon in my opinion is far more complex than it truly needs to be.

    A lot of times, terms like (re)configuration can simply be read as encompassing both terms (configuration and reconfiguration). That probably oversimplifies the meaning to a degree, but it’s a good way to get the general sense when you don’t want to be looking up every third word.

    I wish I could point you to a basic primer or vocabulary list, but I don’t know of any. I suspect there may be a few on the internet somewhere if you google around.

    The overall idea she’s proposing is fascinating, but I don’t know enough about programming, computer languages, physics, etc. to follow it even if she was writing in a more simplistic style.

    Like

  3. One other thought: I’m not sure from your post if you’re still working on your degree, but if you are, try asking around the English department. There may be a professor who can steer you to good introductory material or a grad student who’d be willing to walk you through the knottier jargon.

    Like

Leave a comment