4 ms·
I think there's a confusion here, but it's a very interesting one. This article raises the question: 'where do our ideas about what programming languages shoul
by rjknight 13y ago
I think there's a confusion here, but it's a very interesting one. This article raises the question: 'where do our ideas about what programming languages should be like come from?'
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
- TuringTest 13y agoAlthough unrelated, this reminds me of the field of Computational semiotics and Semiotic engineering, in that it's an alternate way to understand computing. 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 https://en.wikipedia.org/wiki/Semiotic_engineering [2] https://en.wikipedia.org/wiki/Stack-oriented_programming_language https://en.wikipedia.org/wiki/Stack-oriented_programming_lan... [3] https://en.wikipedia.org/wiki/SKI_combinator_calculus https://en.wikipedia.org/wiki/SKI_combinator_calculus [4] https://en.wikipedia.org/wiki/B,C,K,W_system https://en.wikipedia.org/wiki/B,C,K,W_system
- fab13n 13y agoI see a fundamental issue with her presentation: she shouldn't have called the non-normative approach to modelling "feminist". Although it might help her grabbing a gender-studies grant, it's a loaded word, and it's extremely hard to do proper science with loaded words. 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.