Guys, the author presents an overall reasonable argument and I think it's more useful to engage with it in good faith than going "so it's all my fault just because I'm a man?" - no one's implying that.
At its simplest, the point is that much of programming language design is done with a masculine perspective that values technical excellence and very little feminine perspective that focuses more on social impact. Most, including myself, have a knee-jerk reaction to dismiss this argument since at first glance it appears to trade off something known useful for something that's usually little else than a buzzword, but upon further reflection the argument is sensible.
The theme of forsaking technological perfectionism in favor of reaching whatever end goal you have set is widely circulated on this forum and generally agreed with. Those of us that work as software engineers know that impact of your work is always valued more than the implementation or technical details. It's thus reasonable that when building programming languages, the needs and experience of the users should be considered. Not override everything else, but be factored into the equation.
I know if I were to write a programming language I'd probably focus on pushing the boundaries of what's technologically possible, because I find it fun and interesting. But I would have to agree that even if I did succeed in doing so, the actual impact of my work would probably be lower than that of Hedy - the author's language. Hedy is not novel technologically, but the fact that it makes it meaningfully easier to learn programming for significant numbers of people is real, undeniable impact.
Lastly, I want to note that the author's argument for underrepresentation of women in PL cannot be reduced to "those nasty men are keeping us out". Humans are tribal and any group of humans is bound to form complex social structures. Those are going to affect different people in different ways, linked paper investigates the effect on those structures on specifically women because the topic is close to the author. Whether you care about low numbers of women in PL design or not, the dynamics that have led to that being the case are worth investigating and are quite interesting on their own.
arp242 · 1d ago
> At its simplest, the point is that much of programming language design is done with a masculine perspective that values technical excellence and very little feminine perspective that focuses more on social impact.
I guess my criticism of this is that it reduces both men and women to what amounts as little more than stereotypes, which leaves me rather uneasy.
I also find it somewhat of a distraction as to the actual issues. For example one of the topics is that all programming languages only accept Latin numerals (0-9) and often only support English in many keywords. It's not hard to see how this might exclude people, sure.
A counter-argument to this might be that having a single Lingua Franca enables a global community of people from very diverse backgrounds to communicate and work together. Just today I accepted two patches from someone from China. Thirty years ago even talking to someone from China would be a novelty, let alone casually cooperating. That's kind of amazing, no? If we'd both be stuck in our exclusive world of "English" and "Chinese" with out own languages and counting systems and whatnot, then that would have been a lot harder.
All things considered English probably isn't the best, fairest, or more equitable choice. But it is what it is, and it's by far the most practical choice today.
You can of course disagree with all of that, and that's fine. But reducing it to "technical excellence" vs "social impact" or "male perspective" vs. "female perspective" just seems reductive and a distraction.
tetromino_ · 1d ago
It is absolutely a valid point that user experience, helpful error messages, ease of use are extremely important and historically neglected in programming language design, as contrasted with technical excellence.
It is absolutely an invalid point to claim that this is due to gender, that men are doomed by biology to care about technical excellence while women are doomed by biology to care about UX. We are not living in 1825!
whatevertrevor · 1d ago
I agree with this.
It is IMO very backwards and counterproductive to just gender-box mathematics/quantitative research vs peoples/qualitative research. Women are very capable of doing quantitative/mathematical research, and men are quite capable of doing qualitative/UX/anthropology research. Why must we be so narrow minded, _especially_ when we're talking about how we want to see the future?
The author may be totally right in suggesting that PL academic research needs more diversity in research, and that there might be a lot of status-quo bias, elitism and groupthink at play. The over-reliance on mathematical "purity/elegance" (like the monad meme someone mentioned below) instead of usability when it comes to new languages is something even I have encountered as an end user of programming languages.
However, claiming that there's some inherent gender based tendency to engage in one kind of research over another defeats their own purpose IMO. If they said that PL academic research could learn some tricks from fields X, Y and Z on how to engage in more end-user research, it would have made their point so much more convincing.
scoofy · 23h ago
It just reductionist nonsense. The idea that valuing technical excellence is a masculine trait is just absurd. The idea that valuing social impact is a feminine trait is also nonsense. Yes, we could have an aggregate noticeable difference, but the idea that this creates causal outcomes in something like programing languages... it makes no sense.
People use different programing languages for different reasons. Python is easy to read, it's used more by people who come from non-cs backgrounds. Lower level languages are used by people with lower level needs.
It's like saying that "trucks are masculine" when, sure, I'll grant you that, but the point of a truck is to haul a bunch of shit, often to a work site, and there are plenty of women who need to do that. It's like saying that a "Prius is feminine" because it's built around a social cause (climate change)... I mean, sure, I guess. I still think literally millions of men drive Priuses because they actually care about social causes and want to save money on gas.
The concept between the aggregate outcomes of all masculinie and feminine coded things being driven by and arbitrary culture and not an actual random distribution of needed functions (men are more likely to work in hard labor than women, hence more likely to use a truck for work), just seem like the tail wagging the dog.
All of this, and yes, I consider myself very committed to the values of equality that feminism espouses.
belorn · 22h ago
If programming languages have masculine or feminine perspective, then I would like to know which culture lens this is being painted with and for what purpose. Is there any more than to dissect Charles V quote, "I speak Spanish to God, Italian to women, French to men, and German to my horse", and asking if speaking French would increase the number of women in a specific field.
If we are trying to define programming languages tailed toward children as being feminine, and then "real" languages used in the trade as being masculine, are we not devaluing the hard work of everyone involved? It seems to carry a very high risk of causing the opposite of an positive impact. Languages that are meaningfully easier to learn are a good thing, and like reading and math, seems like a good idea to teach children at an early age. The essay seems hopeful that this would decrease gender segregation in the work force, through they don't bring much to support it.
wpietri · 1d ago
Thanks for saying so.
I'll add that if people want a historical perspective on the dynamics, CS Professor Ellen Spertus long ago wrote the paper "Why are There so Few Female Computer Scientists?" It helped me see a lot of the things I might have otherwise been inclined to dismiss: https://dspace.mit.edu/handle/1721.1/7040
aaaja · 1d ago
The bulk of low-effort hostile responses to her article in male-dominated spaces like HN really just illustrate her point over and over again.
It is satisfying to read the engaging and curious reflections, like your own. Let us hope for more of these.
LiKao · 9h ago
I would rather dismiss her point on the basis, that from my perspective this may be true for a small niche of academics that focus specifically on programming language formalisms.
When I studied programming language during my university time, this was really focused on formal approaches, so it is true there. But that is how this field of studies defines itself, and that should be considered their right.
Once you look outside of this narrow field, you can easily find a lot of projects and endeavors that cover exactly what she is requesting in that article.
* The rust compiler focuses a lot on more understandable error messages (a topic specifically covered) and even recommendations that make picking up the language easier.
* C++11 standardization also focused a lot on usability and how to improve hard to read error messages.
* Scratch is explicitly designed to look for alternative approaches to programming.
* Programming in other languages has been around for a long time.
In school we were taught a German version of Logo. I don't buy her argument that her language research was dismissed purely because it wasn't hard enough. We simply have anything we need to understand how we could do a programming language in another language. Replace a few lexer definition, and then re-define the whole stdlib in another language. There is simply nothing novel about this. I really hope her research on language covers a lot more than just this.
She also does a very bad bait-and-switch when she suddenly replaces the meaning of the word "hard" in the middle of the article. Initially she clearly used "hard" to refer to difficult, then later she suddenly switches hard in the sense of "hard" sciences, i.e. sciences based on formalisms and empirical research instead of discussions and opinions.
I agree with her a lot of research is missing from non-technical hard sciences (I would consider large parts of psychology a hard science, although it lives at the border of the two worlds). There is some research on the psychology of programming, but this is definitely under-researched. Also usability studies of programming languages are not well established.
In a lot of cases, however, I don't think this is actually something we can really do research on. I have a strong background in psychology, and I don't think we actually could study the impact of different paradigms. If you pick participants that already know programming, they will be highly socialized with the dominant paradigms. If you pick novices you will have to control what they learn over years until they become fluent in the studied paradigm. This isn't feasible and raises sever ethical concerns. Or you don't control it, make short time studies, in which case the results will just not carry any meaning.
Overall for me the article raises some really valid concerns about programming language research and CS in general, but I think she took a really bad turn in describing these as gender based issues. What I would see as the reason for these issues lies in completely different areas and are only very remotely related to gender.
1718627440 · 1d ago
Not an advocate, but isn't a core idea of feminism, that claims, that men think technically, in terms of power, while women think about social stuff, child-care, etc., are just roles and made up?
How can than be claimed under the banner of feminism, that something isn't feminine (e.g. not social, to much technical) enough? Isn't that the "misogynous" kind of thinking, that feminism is supposed to fight?
(Edit: Anyone cares to elaborate why this was flagged?)
pchangr · 1d ago
Feminism, in my understanding, advocates for gender equality. It doesn’t deny differences among genders but addresses the flaws in the system that unfairly punish or prioritizes one gender over other. And achieving gender equality sometimes requires gender specific accommodations. I.E. Feminism would promote gender specific accommodations so that it becomes equally accessible for all genders.
Having said that…
I don’t know why your comment is flagged but I can tell you that your first sentence is written in a way that already makes it difficult to understand what you want to express.
It also feels a bit snarky to me.
LiKao · 9h ago
Both is true depending on who you ask. That distinction between "men care about objects while women care about people" can be researched at early childhood.
There are very vocal feminists who claim this is a direct sign of strong socialization beginning at early childhood and who claim this effect would completely disappear once we stop socializing gender roles in our society this way.
There are also very vocal feminists who claim that these are two different gendered perspectives and we should have both perspectives.
Yes, this might seem contradictory at first, but it really isn't as much. Feminism advocates for both woman who have grown up under the current socialization as well as new born children, and tries to find ways to do a more fair socialization.
Gud · 1d ago
No, it is not, and I am wondering where you are getting this definition from?
Feminism is an ideology for the advancement of the female sex.
Particularly where they have been oppressed by the men.
1718627440 · 1d ago
> Let’s consider a definition in a
simple grammar: digit : 0..9. [...] In Arabic, digits are not 0-9 but 0..9.
Aren't those just different glyphs? This can be even seen by the fact that HN converts them both to the same symbols. The mapping from characters to glyphs isn't defined by a programming language, it is defined by a font.
> HTML, which is executable however, is not seen as a programming language in regular PL discourse
HTML is executable?
> UML is not executable, so could easily be disregarded as a programming language, but is not
Who claims, that UML is a programming language? Is there a program that is written in "UML"? It is more a language in the same sense as a "design language" of a building.
Bjartr · 1d ago
Had a chat with Claude over this paper and it did ultimately help me understand it better. So in case it helps others, I'm going to share the bits I think are important from that. (Just wanted to disclose my use of AI)
To start with, this is a paper on programming language research first and programming languages themselves second (by way of how that research influences them).
I think some readers might be put off by the feminist framing and miss that these are ideas many on HN have expressed before.
For example, the paper makes the point that PL research tends towards mathematical formalism over human experience. This sounds like an odd thing to say at first, but consider the well established meme on HN: "What is a monad? Monads are monoids in the category of endofunctors" as though that were a helpful answer. That meme is saying the same thing. That focusing exclusively on the mathematically pure concept is actually an obstacle to understanding which limits the usefulness in practice of PLs, independent of a PL's capabilities.
It's an interesting framing to be sure, and perhaps the observed values and behaviors of the PL research community is deeply influenced by a masculine framing. However, I do wonder how much of it at least originated from the domain itself.
The hardware limitations of early computing made strict formalism essential - unless you got your formalism correct, your intent couldn't be mapped to execution on silicon. Mathematical rigor wasn't just preferred, it was often the only path to creating anything that actually worked. Even today those formalisms remain the fundamental building blocks that enable the higher levels of expressiveness we enjoy.
Fields of research, science in general really, have momentum. Strict formalism and a willingness to deal with, or even value, high complexity was what it once took to make meaningful headway in the field of programming languages. Today, perhaps, that is less true, but those that succeeded in the past will continue to shape the field for some time.
I do think this is ultimately a problem for the field. There are aspects of PL research and design that that certainly do require formalism and are inherently complex in a way that requires a certain approach. But that doesn't mean the field needs to remain forever closed to discussions and research around how the decisions that are made impact the world at large and the people in it.
roarcher · 1d ago
The problem with this paper is its framing as a feminist issue. Claiming that programming language research is overly formal and rigorous is one thing. Claiming that this is a problem for women because they can't handle mathematical rigor as well as men is a baffling position for a feminist to take.
Bjartr · 18h ago
The best that I can tell, this disconnect is explained by how the term "feminism" is used in an academic context and how that differs from its use in a casual context. In the academic context it's an analytical framework that looks at the world around us through the lens of gender dynamics. This is very different from the casual meaning of political activism for females.
This paper uses feminist theoretical frameworks like standpoint theory and intersectionality and so calling it a feminist analysis is a matter of intellectual precision more than it's a matter of it being a problem for women in particular.
Honestly I've learned a lot about feminism and what it is and isn't in researching these answers. There's apparently a lot more to academic feminist theory than empowering women.
raffael_de · 1d ago
> For example, western PL designers might disregard cultural aspects of non-Western languages, like non-English numerals
There is a reason why even in native Arabic¹ or Thai² communication Western "Arabic" numerals are used ... deliberately.
Also I didn't find any suggestions or criticism actually regarding the _design_ of programming languages (from a feminist perspective); after all the title suggests that this is what the paper is about. There is only a single irrelevant reference to Python - I mean, practically thinking: what should be changed about Python to make it more "feminist"?
Java, JavaScript, Rust, C++ aren't mentioned even once ... wouldn't it make sense to make the point clear by providing concrete examples of what is not satisfying about the status quo? Or is it maybe that there is no point to the question to begin with?
"For as long as I1 can remember, I have been in love with pro-
gramming. As a pre-teen, I excitedly taught myself program-
ming with BASIC books from the local library, and as a late
teenager, I joined my high school’s computer club, and my
high school capstone project was a rudimentary machine
learning algorithm. In university, I chose compiler courses
as electives, and my final MSc project included the develop-
ment of a small programming language for SAT solving. It
seemed a logical next step, when given the opportunity, to
pursue a PhD in the direction of programming languages
(PL). I am, for all intents and purposes, a very normal pro-
gramming languages person, with one notable exception: I
am female."
but then:
"Feminism Can Help Question Values and Priorities
of Programming Languages. As I was trying to under-
stand my mismatch with the PL community, I started to
see that the current state of the art in PL research and de-
sign prioritizes machines over people, there is a focus on
programming languages that are easy to read for the ma-
chine, rather than easy for people. The current standards of
evaluation in the PL community are set from a masculine
perspective as well, valuing formalism and formal methods
over user studies, quantitative over qualitative work, and
the examining of technical aspects over context and people"
So they loved something as a kid growing up but now think it was dehumanizing ("prioritizing machines over people")?
"Feminism in PL introduces interesting and exciting challenges
that will require the deliberate work of examining different
perspectives; seeking out users from a variety of different
backgrounds and identities, and carefully investigating our
programming languages and systems from diverse perspec-
tives."
I don't know that you can rely on feminism to drive inclusion of diverse perspectives at large. There are many backgrounds and identities that I do not expect feminism to bring to the fore for consideration and inclusion in PL design. I might be wrong on this, so would love a concrete example that draws that throughline.
n4r9 · 1d ago
> So they loved something as a kid growing up but now think it was dehumanizing
They loved programming as a kid, but they feel that the current state of PL research deprioritizes people. This seems coherent to me.
worthless-trash · 1d ago
I feel that reality is anything but this, newer programming languages are definitely more human oriented.
n4r9 · 1d ago
I don't really have an opinion on whether it's true. Just thought that OP misrepresented that passage.
msgodel · 1d ago
>I don't know that you can rely on feminism to drive inclusion of diverse perspectives at large.
Looking back at the 50 years of its history it seems pretty obvious to me that it does the opposite.
exe34 · 1d ago
Could you give some examples?
tines · 1d ago
> Error messages are another PL design feature shaped by
peoples’ standpoint, by their lived experiences and values.
For many programming language designers, error messages
are an afterthought. Other aspects of design will likely over-
power the careful crafting of error messages, such as an op-
timized compiler or an elegant syntax. Many language de-
signers, explicitly or implicitly, take the stance that ‘users
will just have to deal with error messages when they oc-
cur’. Error messages in many languages explicitly do not
include the user in their phrasing, saying things like ‘miss-
ing bracket’ or ‘unknown variable’, which leaves the user
out of the equation. For a person with the lived experience
of being told they don’t belong in programming and being
afraid of failure in the programming world (a common expe-
rience for women in computing), unclear or unhelpful error
messages are more likely to have negative impacts. More
readable error messages are not just helpful for those with
less prior knowledge, clear error messages are a better ex-
perience and will help all users—even professional develop-
ers. A recent study on error messages in Elm showed that
their well-phrased error messages were the most-named
positive experience of professionals working with the language [citation].
The author must consider the audience is either stupid or childish. An intelligent adult deserves respect and should not be talked about in this way, implying that they are emotionally unequipped to handle a straightforward computer error message.
miav · 1d ago
The author is not advocating for friendlier messages in the googlesque sense of dumbing them down or introducing more positive wording, but in the sense of making them more readable and useful.
Of course it does not matter for "a straightforward computer error message", in cases where the error is a simple type mismatch or a missed semicolon, but if those were the majority of the problems we encounter as programmers, our work would be trivial.
It's not difficult to imagine a situation where structuring a compiler in such a way that it keeps more state and perhaps has to perform more analysis is worthwhile, since a more useful error message saves the user time in understanding and fixing a problem.
An example that comes to mind is when in Rust I tried to create a dynamically dispatched trait, where the trait in question contained a function an argument of which was generic over a different, statically dispatched trait. Since the compiler did not know at compile time the exact object which would be instantiated, it was incapable of inferring the exact type of the second, statically dispatched trait at compile time, thus failing to compile.
The error was presented to me in a clear way that pointed out the problematic relationship between dispatch types of the two traits allowing me to understand and fix the problem quickly. If the error message was far simpler, such as "can't dynamically dispatch trait", I would have figured that out too, but it would have simply taken more valuable time. Most importantly, having to track down the issue from a minimal error message, would not have been an honorable test of my intelligence and emotional maturity, it simply would have been inefficient.
James_K · 1d ago
Talked about in what way? The text you quote says that error messages "may have negative impacts" on people, which seems undeniably true.
1718627440 · 1d ago
Nice sounding "non-negative" error messages also have a negative impact on people, in that they can't fix the problem, because the message isn't precise enough.
James_K · 1d ago
Yes. This is what she pointed out in that quote you just gave.
1718627440 · 1d ago
Huh, I was stating the opposite of the original claim, was about negative short messages while I was talking about the then introduced "user-inclusive" long messages.
moi2388 · 1d ago
“ Our goal is to illustrate opportunities for more inclusive practices that will introduce greater diversity to the design of programming languages and the demographic makeup of the programming language community.”
Why would I care at all who wrote a programming language, and if the people writing them are diverse?
I care about the language features and nothing else.
DaSHacka · 1d ago
Meritocracy beliefs have been considered "white supremicist rhetoric" in many programming circles for some time now.
Honestly I still don't get it, I guess its just one of those first-world problems people invent to occupy their time with outrage.
But there is infact a large captive population of SWE's invested in these topics.
wpietri · 1d ago
It's because claims of true merit have for a long time been used as the justification for the exclusion of people systems have been rigged to exclude.
Just to pick the most obvious example, the US's slave states systematically kept black people uneducated and beaten down, and then used their condition to justify their ongoing subjugation. For example, from the Texas declaration of Secession talks about the how the Northerners had "an unnatural feeling of hostility to these Southern States and their beneficent and patriarchal system of African slavery, proclaiming the debasing doctrine of equality of all men, irrespective of race or color-- a doctrine at war with nature, in opposition to the experience of mankind, and in violation of the plainest revelations of Divine Law." In their view, the southern aristocracy were the obvious and true holders of merit, and the system that put them on top was just proof of their merit.
Or you could look at how women were systematically excluded for generations from education and economic resources, and then their condition was used at the justification for not letting them vote.
os2warpman · 1d ago
>Meritocracy beliefs have been considered "white supremicist rhetoric" in many programming circles for some time now.
I've read this before and when I asked for examples, all of the examples given involved either people who were kicked out of open source projects for being huge dickheads or companies who held recruiting events at historically black colleges and universities being called woke.
Do you have any examples of meritocracy beliefs being considered "white supremacist rhetoric"?
BTW you spelled supremacist wrong. I'm curious about what browser/operating system combination did not highlight the misspelling.
n4r9 · 1d ago
Not the same person but there's no spellchecker for me when I type in the reply box. I'm on Firefox and Windows 11.
My guess: a diverse set of backgrounds promotes features that are intuitive and convenient for a broader class of users.
hard_times · 1d ago
examples of such features being?
n4r9 · 1d ago
Several are given in the linked article, like built-in support for ~non-Roman~[edit: non-Western] numeral characters, and nomenclature that works well with screen readers. A diverse staff may also help to promote language (e.g. keywords or in documentation) that's broadly understood across different cultures.
moi2388 · 1d ago
You mean all the examples which do exist in all major programming languages, completely invalidating their entire point? Gotcha.
n4r9 · 1d ago
How do you mean? I just tried typing
var x = ٢ + ٢;
into a C# project in Visual Studio and got a bunch of errors like
Unexpected character '٢'
moi2388 · 1d ago
You really don’t see the irony when you’re posting this on a website and it renders just fine?
n4r9 · 1d ago
Ah, I think I see the confusion. In the linked article it talks about whether the code itself can include non-western digits. That's distinct from whether it can handle strings or render text containing non-western digits.
AStonesThrow · 1d ago
But why
for (I = I; I <= XIV; I++) {
printf("Pope Leo %d is best Pope Leo!\n", I);
}
Interestingly, the authors use circumlocutions to avoid naming the Arabic numerals for what they are, while the ones used in their example are known as Eastern Arabic Numerals.
They clarified in the footnote that this is to prevent confusion as many readers may not know that Arabic numerals are the widely used ones. It is indeed confusing that what the world uses as numerical lingua-franca are Arabic numerals, and what are used in Arabic script (and India sometimes) are called Eastern Arabic Numerals.
n4r9 · 1d ago
Hah, thanks for the correction.
exe34 · 1d ago
ascii vs utf
dismalaf · 1d ago
Instead of writing that more programming languages should have a female perspective why doesn't the author simply write a programming language?
Edit - apparently I can't read (bad habit of skimming long articles and reading the body of the more interesting headers). She did make one - designed to teach children Python. I still think it would be more interesting to write a general purpose language with the values in the essay.
(have not yet read the article beyond the first few paragraphs, where this is mentioned).
James_K · 1d ago
She has. It says it in the paper which you chose not to read.
drivingmenuts · 1d ago
OK, but if the end goal is to teach Python, isn't the language just Python? I'm not sure I get the point of learning one language to learn another language (unless the point if just to start learning a plethora of languages).
At any rate, I wish she'd included some sort of docs to read thru, rather than having to sit thru a bunch of busywork tutorials. I'd like to get an overview of what Hedy is about.
At its simplest, the point is that much of programming language design is done with a masculine perspective that values technical excellence and very little feminine perspective that focuses more on social impact. Most, including myself, have a knee-jerk reaction to dismiss this argument since at first glance it appears to trade off something known useful for something that's usually little else than a buzzword, but upon further reflection the argument is sensible.
The theme of forsaking technological perfectionism in favor of reaching whatever end goal you have set is widely circulated on this forum and generally agreed with. Those of us that work as software engineers know that impact of your work is always valued more than the implementation or technical details. It's thus reasonable that when building programming languages, the needs and experience of the users should be considered. Not override everything else, but be factored into the equation.
I know if I were to write a programming language I'd probably focus on pushing the boundaries of what's technologically possible, because I find it fun and interesting. But I would have to agree that even if I did succeed in doing so, the actual impact of my work would probably be lower than that of Hedy - the author's language. Hedy is not novel technologically, but the fact that it makes it meaningfully easier to learn programming for significant numbers of people is real, undeniable impact.
Lastly, I want to note that the author's argument for underrepresentation of women in PL cannot be reduced to "those nasty men are keeping us out". Humans are tribal and any group of humans is bound to form complex social structures. Those are going to affect different people in different ways, linked paper investigates the effect on those structures on specifically women because the topic is close to the author. Whether you care about low numbers of women in PL design or not, the dynamics that have led to that being the case are worth investigating and are quite interesting on their own.
I guess my criticism of this is that it reduces both men and women to what amounts as little more than stereotypes, which leaves me rather uneasy.
I also find it somewhat of a distraction as to the actual issues. For example one of the topics is that all programming languages only accept Latin numerals (0-9) and often only support English in many keywords. It's not hard to see how this might exclude people, sure.
A counter-argument to this might be that having a single Lingua Franca enables a global community of people from very diverse backgrounds to communicate and work together. Just today I accepted two patches from someone from China. Thirty years ago even talking to someone from China would be a novelty, let alone casually cooperating. That's kind of amazing, no? If we'd both be stuck in our exclusive world of "English" and "Chinese" with out own languages and counting systems and whatnot, then that would have been a lot harder.
All things considered English probably isn't the best, fairest, or more equitable choice. But it is what it is, and it's by far the most practical choice today.
You can of course disagree with all of that, and that's fine. But reducing it to "technical excellence" vs "social impact" or "male perspective" vs. "female perspective" just seems reductive and a distraction.
It is absolutely an invalid point to claim that this is due to gender, that men are doomed by biology to care about technical excellence while women are doomed by biology to care about UX. We are not living in 1825!
It is IMO very backwards and counterproductive to just gender-box mathematics/quantitative research vs peoples/qualitative research. Women are very capable of doing quantitative/mathematical research, and men are quite capable of doing qualitative/UX/anthropology research. Why must we be so narrow minded, _especially_ when we're talking about how we want to see the future?
The author may be totally right in suggesting that PL academic research needs more diversity in research, and that there might be a lot of status-quo bias, elitism and groupthink at play. The over-reliance on mathematical "purity/elegance" (like the monad meme someone mentioned below) instead of usability when it comes to new languages is something even I have encountered as an end user of programming languages.
However, claiming that there's some inherent gender based tendency to engage in one kind of research over another defeats their own purpose IMO. If they said that PL academic research could learn some tricks from fields X, Y and Z on how to engage in more end-user research, it would have made their point so much more convincing.
People use different programing languages for different reasons. Python is easy to read, it's used more by people who come from non-cs backgrounds. Lower level languages are used by people with lower level needs.
It's like saying that "trucks are masculine" when, sure, I'll grant you that, but the point of a truck is to haul a bunch of shit, often to a work site, and there are plenty of women who need to do that. It's like saying that a "Prius is feminine" because it's built around a social cause (climate change)... I mean, sure, I guess. I still think literally millions of men drive Priuses because they actually care about social causes and want to save money on gas.
The concept between the aggregate outcomes of all masculinie and feminine coded things being driven by and arbitrary culture and not an actual random distribution of needed functions (men are more likely to work in hard labor than women, hence more likely to use a truck for work), just seem like the tail wagging the dog.
All of this, and yes, I consider myself very committed to the values of equality that feminism espouses.
If we are trying to define programming languages tailed toward children as being feminine, and then "real" languages used in the trade as being masculine, are we not devaluing the hard work of everyone involved? It seems to carry a very high risk of causing the opposite of an positive impact. Languages that are meaningfully easier to learn are a good thing, and like reading and math, seems like a good idea to teach children at an early age. The essay seems hopeful that this would decrease gender segregation in the work force, through they don't bring much to support it.
I'll add that if people want a historical perspective on the dynamics, CS Professor Ellen Spertus long ago wrote the paper "Why are There so Few Female Computer Scientists?" It helped me see a lot of the things I might have otherwise been inclined to dismiss: https://dspace.mit.edu/handle/1721.1/7040
It is satisfying to read the engaging and curious reflections, like your own. Let us hope for more of these.
When I studied programming language during my university time, this was really focused on formal approaches, so it is true there. But that is how this field of studies defines itself, and that should be considered their right.
Once you look outside of this narrow field, you can easily find a lot of projects and endeavors that cover exactly what she is requesting in that article.
* The rust compiler focuses a lot on more understandable error messages (a topic specifically covered) and even recommendations that make picking up the language easier.
* C++11 standardization also focused a lot on usability and how to improve hard to read error messages.
* Scratch is explicitly designed to look for alternative approaches to programming.
* Programming in other languages has been around for a long time.
In school we were taught a German version of Logo. I don't buy her argument that her language research was dismissed purely because it wasn't hard enough. We simply have anything we need to understand how we could do a programming language in another language. Replace a few lexer definition, and then re-define the whole stdlib in another language. There is simply nothing novel about this. I really hope her research on language covers a lot more than just this.
She also does a very bad bait-and-switch when she suddenly replaces the meaning of the word "hard" in the middle of the article. Initially she clearly used "hard" to refer to difficult, then later she suddenly switches hard in the sense of "hard" sciences, i.e. sciences based on formalisms and empirical research instead of discussions and opinions.
I agree with her a lot of research is missing from non-technical hard sciences (I would consider large parts of psychology a hard science, although it lives at the border of the two worlds). There is some research on the psychology of programming, but this is definitely under-researched. Also usability studies of programming languages are not well established.
In a lot of cases, however, I don't think this is actually something we can really do research on. I have a strong background in psychology, and I don't think we actually could study the impact of different paradigms. If you pick participants that already know programming, they will be highly socialized with the dominant paradigms. If you pick novices you will have to control what they learn over years until they become fluent in the studied paradigm. This isn't feasible and raises sever ethical concerns. Or you don't control it, make short time studies, in which case the results will just not carry any meaning.
Overall for me the article raises some really valid concerns about programming language research and CS in general, but I think she took a really bad turn in describing these as gender based issues. What I would see as the reason for these issues lies in completely different areas and are only very remotely related to gender.
How can than be claimed under the banner of feminism, that something isn't feminine (e.g. not social, to much technical) enough? Isn't that the "misogynous" kind of thinking, that feminism is supposed to fight?
(Edit: Anyone cares to elaborate why this was flagged?)
Having said that… I don’t know why your comment is flagged but I can tell you that your first sentence is written in a way that already makes it difficult to understand what you want to express.
It also feels a bit snarky to me.
There are very vocal feminists who claim this is a direct sign of strong socialization beginning at early childhood and who claim this effect would completely disappear once we stop socializing gender roles in our society this way.
There are also very vocal feminists who claim that these are two different gendered perspectives and we should have both perspectives.
Yes, this might seem contradictory at first, but it really isn't as much. Feminism advocates for both woman who have grown up under the current socialization as well as new born children, and tries to find ways to do a more fair socialization.
Feminism is an ideology for the advancement of the female sex.
Particularly where they have been oppressed by the men.
Aren't those just different glyphs? This can be even seen by the fact that HN converts them both to the same symbols. The mapping from characters to glyphs isn't defined by a programming language, it is defined by a font.
No comments yet
HTML is executable?
> UML is not executable, so could easily be disregarded as a programming language, but is not
Who claims, that UML is a programming language? Is there a program that is written in "UML"? It is more a language in the same sense as a "design language" of a building.
To start with, this is a paper on programming language research first and programming languages themselves second (by way of how that research influences them).
I think some readers might be put off by the feminist framing and miss that these are ideas many on HN have expressed before.
For example, the paper makes the point that PL research tends towards mathematical formalism over human experience. This sounds like an odd thing to say at first, but consider the well established meme on HN: "What is a monad? Monads are monoids in the category of endofunctors" as though that were a helpful answer. That meme is saying the same thing. That focusing exclusively on the mathematically pure concept is actually an obstacle to understanding which limits the usefulness in practice of PLs, independent of a PL's capabilities.
It's an interesting framing to be sure, and perhaps the observed values and behaviors of the PL research community is deeply influenced by a masculine framing. However, I do wonder how much of it at least originated from the domain itself.
The hardware limitations of early computing made strict formalism essential - unless you got your formalism correct, your intent couldn't be mapped to execution on silicon. Mathematical rigor wasn't just preferred, it was often the only path to creating anything that actually worked. Even today those formalisms remain the fundamental building blocks that enable the higher levels of expressiveness we enjoy.
Fields of research, science in general really, have momentum. Strict formalism and a willingness to deal with, or even value, high complexity was what it once took to make meaningful headway in the field of programming languages. Today, perhaps, that is less true, but those that succeeded in the past will continue to shape the field for some time.
I do think this is ultimately a problem for the field. There are aspects of PL research and design that that certainly do require formalism and are inherently complex in a way that requires a certain approach. But that doesn't mean the field needs to remain forever closed to discussions and research around how the decisions that are made impact the world at large and the people in it.
This paper uses feminist theoretical frameworks like standpoint theory and intersectionality and so calling it a feminist analysis is a matter of intellectual precision more than it's a matter of it being a problem for women in particular.
Honestly I've learned a lot about feminism and what it is and isn't in researching these answers. There's apparently a lot more to academic feminist theory than empowering women.
There is a reason why even in native Arabic¹ or Thai² communication Western "Arabic" numerals are used ... deliberately.
Also I didn't find any suggestions or criticism actually regarding the _design_ of programming languages (from a feminist perspective); after all the title suggests that this is what the paper is about. There is only a single irrelevant reference to Python - I mean, practically thinking: what should be changed about Python to make it more "feminist"?
Java, JavaScript, Rust, C++ aren't mentioned even once ... wouldn't it make sense to make the point clear by providing concrete examples of what is not satisfying about the status quo? Or is it maybe that there is no point to the question to begin with?
1: https://www.aljazeera.net/ebusiness/2025/6/5/countries-large...
2: https://www.thairath.co.th/news/crime/2862747
but then:
"Feminism Can Help Question Values and Priorities of Programming Languages. As I was trying to under- stand my mismatch with the PL community, I started to see that the current state of the art in PL research and de- sign prioritizes machines over people, there is a focus on programming languages that are easy to read for the ma- chine, rather than easy for people. The current standards of evaluation in the PL community are set from a masculine perspective as well, valuing formalism and formal methods over user studies, quantitative over qualitative work, and the examining of technical aspects over context and people"
So they loved something as a kid growing up but now think it was dehumanizing ("prioritizing machines over people")?
"Feminism in PL introduces interesting and exciting challenges that will require the deliberate work of examining different perspectives; seeking out users from a variety of different backgrounds and identities, and carefully investigating our programming languages and systems from diverse perspec- tives."
I don't know that you can rely on feminism to drive inclusion of diverse perspectives at large. There are many backgrounds and identities that I do not expect feminism to bring to the fore for consideration and inclusion in PL design. I might be wrong on this, so would love a concrete example that draws that throughline.
They loved programming as a kid, but they feel that the current state of PL research deprioritizes people. This seems coherent to me.
Looking back at the 50 years of its history it seems pretty obvious to me that it does the opposite.
The author must consider the audience is either stupid or childish. An intelligent adult deserves respect and should not be talked about in this way, implying that they are emotionally unequipped to handle a straightforward computer error message.
Of course it does not matter for "a straightforward computer error message", in cases where the error is a simple type mismatch or a missed semicolon, but if those were the majority of the problems we encounter as programmers, our work would be trivial.
It's not difficult to imagine a situation where structuring a compiler in such a way that it keeps more state and perhaps has to perform more analysis is worthwhile, since a more useful error message saves the user time in understanding and fixing a problem.
An example that comes to mind is when in Rust I tried to create a dynamically dispatched trait, where the trait in question contained a function an argument of which was generic over a different, statically dispatched trait. Since the compiler did not know at compile time the exact object which would be instantiated, it was incapable of inferring the exact type of the second, statically dispatched trait at compile time, thus failing to compile.
The error was presented to me in a clear way that pointed out the problematic relationship between dispatch types of the two traits allowing me to understand and fix the problem quickly. If the error message was far simpler, such as "can't dynamically dispatch trait", I would have figured that out too, but it would have simply taken more valuable time. Most importantly, having to track down the issue from a minimal error message, would not have been an honorable test of my intelligence and emotional maturity, it simply would have been inefficient.
Why would I care at all who wrote a programming language, and if the people writing them are diverse?
I care about the language features and nothing else.
Honestly I still don't get it, I guess its just one of those first-world problems people invent to occupy their time with outrage.
But there is infact a large captive population of SWE's invested in these topics.
Just to pick the most obvious example, the US's slave states systematically kept black people uneducated and beaten down, and then used their condition to justify their ongoing subjugation. For example, from the Texas declaration of Secession talks about the how the Northerners had "an unnatural feeling of hostility to these Southern States and their beneficent and patriarchal system of African slavery, proclaiming the debasing doctrine of equality of all men, irrespective of race or color-- a doctrine at war with nature, in opposition to the experience of mankind, and in violation of the plainest revelations of Divine Law." In their view, the southern aristocracy were the obvious and true holders of merit, and the system that put them on top was just proof of their merit.
Or you could look at how women were systematically excluded for generations from education and economic resources, and then their condition was used at the justification for not letting them vote.
I've read this before and when I asked for examples, all of the examples given involved either people who were kicked out of open source projects for being huge dickheads or companies who held recruiting events at historically black colleges and universities being called woke.
Do you have any examples of meritocracy beliefs being considered "white supremacist rhetoric"?
BTW you spelled supremacist wrong. I'm curious about what browser/operating system combination did not highlight the misspelling.
Screenshot: https://v1.imgpaste.net/images/public/1564a772-9648-4540-88d...
https://en.wikipedia.org/wiki/Arabic_numerals_(disambiguatio...
Edit - apparently I can't read (bad habit of skimming long articles and reading the body of the more interesting headers). She did make one - designed to teach children Python. I still think it would be more interesting to write a general purpose language with the values in the essay.
(have not yet read the article beyond the first few paragraphs, where this is mentioned).
At any rate, I wish she'd included some sort of docs to read thru, rather than having to sit thru a bunch of busywork tutorials. I'd like to get an overview of what Hedy is about.