Raw capture โ€” raw/ai-made-me-doubt-everything-about-programming.md


url: https://gist.github.com/e8210aebcc4c56c60d5c9f769f471330 date_fetched: 2026-09-13


You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

Summary: "AI Made Me Doubt Everything About Programming" โ€” Felienne Hermans, DDD Europe 2026

Key Points

The field values difficulty over accessibility. When Hermans presented spreadsheets as programming, the community dismissed them as "not real programming" โ€” even after she proved Turing completeness. When she built Hedy, a localized programming language, the question wasn't "is this useful?" but "why was that hard?" โ€” implying that if something was easy to implement, it wasn't worth doing. Making things easier is perceived as removing value, not adding it.

Feminist epistemology explains the community's value system. A 2016 paper on glaciers revealed that researchers oversampled hard-to-reach mountain glaciers while neglecting accessible rural ones โ€” because climbing mountains makes you the hero. This maps directly onto programming culture: Haskell and C are valued because they're "close to the metal"; spreadsheets, PHP, and JavaScript are dismissed because they're "easy." Hermans says this paper "told me more about the programming language community than just existing in the programming language community for two decades."

DDD is "talking to customers" wrapped in complexity to be palatable. Hermans confesses she never liked DDD because it seemed to be just walking around and asking people what they do. She now understands: the community can't accept simple human behavior as valid practice, so it gets reframed as "requirements engineering," "event storming," and "ubiquitous language" โ€” because "talk to customers" doesn't sell tickets or books.

Computer science has an unreconciled dark history. Von Neumann personally calculated detonation heights for maximum civilian casualties and wanted to bomb Kyoto for cultural impact. IBM's Thomas J. Watson received a medal from Hitler for selling 1.5 billion punch cards per year to Nazi Germany, used to administer Jewish populations and schedule deportation trains. IEEE still awards a Von Neumann Medal despite its stated mission of "advancing technology for the benefit of humanity."

Chess is the Drosophila of AI โ€” and its methodology leaked everywhere. Historian Nathan Ensmenger showed that AI's obsession with chess (binary, true/false, win/lose) established a benchmarking methodology that researchers carried directly into language and art โ€” domains where you can't simply say "this is true and that is false."

Chess also proves society can reject solved problems. Chess engines have beaten world champions since 1997, yet competitive chess still bans machine assistance. Hermans wants programming to follow this model: a problem can be technically "solved" by AI, and we can still choose not to use it.

Programming exists to make programmers happy and proud. Citing a 2017 study showing that caring about social change is the biggest predictor for not studying computer science, Hermans argues the field has filtered out everyone except complexity lovers. The remaining people build complex things for their own satisfaction, not for social benefit.

LLMs produce output but not intellectual activity. Drawing on Peter Naur's 1984 distinction, Hermans argues that intellectual activity requires building a theory you can explain, defend, and reason about. LLMs can't do this โ€” ask one "why did you implement it this way?" and it will give an inconsistent answer. "We have artificial intelligence, but certainly we don't have artificial intellectual activity."

Pithy and Provocative Quotes

"Recently I totally fell out of love with computer science. I don't think I like this field. I don't think I like what we're doing and the people in it."

"That's not real programming." โ€” The response Hermans got for years when presenting spreadsheets, even after demonstrating Turing completeness.

"Why don't they just learn English?" โ€” A response at a programming language design conference to the idea of localized programming languages. Hermans notes many people can speak English but don't want to "because English speaking people keep bombing their country or were colonizing their countries before."

"I'm so happy that I can use Hedy because now I can show my students that our language, Setswana, is also the language of technology. It's also the language of the future. They don't have to use the language of the former colonizer to participate in technology." โ€” A teacher in Botswana.

"Reading this paper about glaciers told me more about the programming language community than just existing in the programming language community for two decades."

"If you take something that is hard, in my case Python, and you make it easier, you make it into Hedy. By localizing, you are taking away value."

"The biggest predictor for not studying computer science is caring about social change."

"He personally calculated at what height the bombs should be detonated for maximum civilian casualties." โ€” On Von Neumann, whose name adorns a medal IEEE still awards.

"Improved means to an unimproved end." โ€” Martin Luther King Jr. (quoting Thoreau), which Hermans calls "computer science in 2026."

"Programming is to make programmers happy and programming is to make programmers proud. That's what it's for."

"Its province is to assist us in making available what we are already acquainted with." โ€” Ada Lovelace in 1843, which Hermans calls the best summary of a machine that reads the entire internet and rehashes it back at you.

"In 10 years a computer will be the world champion in chess โ€” unless it is barred from competition." โ€” Herbert Simon, 1956, already anticipating that society might reject the technology.

"The ultimate hidden truth of the world is that the world is something that we make." โ€” David Graeber. Hermans: "We are allowing this to happen, but we can also not do that."

Tools, Practices, and Methodologies

Hedy (hedy.org) โ€” A free, open-source programming language for teaching, similar to Python but localized into 71 languages including Dutch, Spanish, Chinese, Hindi, and Arabic (with Arabic numerals). Built by Hermans during the pandemic. Use it to teach programming to beginners in their native language. Matters because mainstream programming languages reject non-ASCII numerals as "invalid characters" โ€” a thing 300 million people use.

Feminist epistemology โ€” An analytical framework asking who creates knowledge and why, not just about individual liberties. Hermans uses it to understand why the programming community values what it values. Apply it as a lens to examine why your field or team prizes certain technologies and dismisses others.

"Glaciers, Gender, and Science" (2016 paper) โ€” A study of how glacier research was shaped by social narratives (heroism of mountain climbing vs. mundanity of village-adjacent glaciers). Hermans uses it as a diagnostic tool: what does your field's "high mountain" vs. "rural glacier" look like? For programming: Haskell/C vs. spreadsheets/PHP.

Peter Naur's theory of intellectual activity (1984) โ€” A framework distinguishing mere intelligent activity (doing something) from intellectual activity (doing something while also being able to explain, defend, and answer questions about it). Use it to evaluate whether AI tools produce genuine understanding or just output. LLMs fail this test because they can't maintain a consistent internal model.

Chess as adoption model โ€” The precedent that a technology can exist and work perfectly but still be socially barred from use. Hermans proposes this as a template: "We can actually make the world different." Use it to argue that adopting LLMs for programming is a choice, not an inevitability.

Nathan Ensmenger's "Drosophila of AI" analysis โ€” A historical analysis of how AI research methodology (binary benchmarking from chess) was carried into domains where it doesn't apply (language, art). Use it to critique current AI evaluation methods that treat subjective outputs as if they have true/false answers.

Unanswered Questions and Omissions

How do you actually change the culture? Hermans diagnoses the problem โ€” the field filters out people who care about social change, rewards complexity, and dismisses accessibility โ€” but offers no mechanism for change beyond "we can choose differently." The talk ends on inspiration, not strategy.

What about economic pressure? The chess analogy breaks down because chess is a game with no economic stakes. Programmers face employers, market competition, and productivity mandates. Hermans doesn't address how individuals or teams can "choose not to use" LLMs when their organization or industry demands it.

Is there any legitimate role for LLMs in programming? Hermans positions herself as not anti-LLM ("I don't necessarily have something against all of the technology"), but the talk offers no framework for when AI should be used. The Lovelace quote ("assist us in making available what we are already acquainted with") could be a starting point, but she doesn't develop it into criteria.

The DDD critique is provocative but shallow. Saying DDD is just "talking to customers" ignores the actual problems DDD addresses: bounded contexts, model integrity across teams, strategic design in large organizations. Hermans acknowledges "a lot of DDD people are really nice" but doesn't engage with whether the complexity she mocks serves a real purpose at scale.

No engagement with counterarguments about accessibility. The "why don't they just learn English" question is dismissed, but the practical argument that a shared language (English) reduces fragmentation and enables global collaboration isn't addressed. Hermans's strongest answer is the Botswana teacher quote, which is emotional, not structural.

The Von Neumann and IBM history is presented as revelation, but what's the actionable ask? Should IEEE rename the medal? Should CS curricula include this history? Hermans says "we need to talk about that history" but doesn't propose what reckoning would look like.

The "raise your hand if you believe your software contributes to a better world" moment is powerful but unexamined. Only ~25% raised their hands. Hermans uses this to argue that faster software production (via LLMs) doesn't matter if we're building the wrong things โ€” but she doesn't explore why so few believe in their own work's value, or what would change that.

No mention of who benefits from the current AI push. The talk critiques the culture and the tools but doesn't name the economic actors (big tech companies, venture capital) driving LLM adoption. Graeber's "the world is something we make" is invoked, but the power structures shaping that making go unnamed.

Hello, everyone. My name is Feline Hermans. I'm a professor of computer science in the university in Amsterdam. And also I'm a computer science teacher in high school, also in Amsterdam. So you could sort of say that computer science is what is my identity.

However, this is very sad. Mainly it's very sad for me because recently I totally fell out of love with computer science. I'm like, I don't think I like this field. I don't think I like what we're doing and the people in it. I don't think we're actually going in the right direction.

And this is really sad because it started out fantastic. This is me when I was a young kid. We got a computer in the house when I was still relatively young. And then I thought, this machine is magic. I can use this to make anything I want.

I can make video games, which at the time there was no Internet. So I just went to the library and I got paper basic books, and I copied them into the computer. Raise your hand if that's also how you learn programming. Yes. So, like, this is amazing.

I like being on this machine. But for me, programming wasn't this one thing I liked. I also liked many other things. I liked drawing. I draw all these slides by hand.

By the way, these are not made with AI. And I also liked knitting and making clothes. And for me, programming was something like this, a way to make something. I saw something and I thought, oh, now I will make a drawing or now I will make a game or a garment. But then my working class mom was like, yeah, honey, you can't really have a job drawing or knitting.

You have to make money. So why don't you choose programming? Because that's fun and also an employable skill. So I was like, fine, fine, I'll go into programming. And I actually really liked it for a very long time.

One of the things I worked on early in my career, I know some of you know me from those days already, over a decade ago, was I worked on spreadsheets. And I thought spreadsheets were a fantastic topic of study because spreadsheets are very easy for people to use. Many people that aren't even programmers, they're like accountants in a bank, they can use spreadsheets to get stuff done. So I thought, oh, this is interesting. I want to understand and study what this is.

So I went to conferences a bit like this a long time ago. I'm like, hello, I'm Felina. I work on spreadsheets. And I imagine people would also be excited about Programming that's very accessible to many people. But they were not excited.

No, no. I was very surprised. I was like, hey, I work on spreadsheets. You know what people said? That's not real programming.

I'm like, what do you mean not real programming? Like, am I imagining Excel? Is this not also on your machine? No, it is real programming. But they're like, no, that's not real programming.

What does it mean to be real? They're like, yeah, it's very important that it's Turing complete. I'm like, okay, fine, if that's the rule, here's a Turing machine in spreadsheet formulas. Which firstly proves my point that they are Turing complete. But also, I think it's a beautiful visualization.

You see the head moving over the tape with conditional formatting. I'm like, okay, fine, guys, look. And girls. But mainly guys like, look, it's Turing complete, right? So now you must agree with me that this is programming.

They're like, no, no, it's not real programming. But then why? And it wasn't really expressible, but there was something that made it not real programming. And then after a while, after basically having this conversation for four years, I was like, fine, I'll do something else. Apparently this is not the right thing.

I don't really understand why. So that was not great. But then, full energy, I go on a new topic and one of the things I then started to do is teach in high school, which I still do. And after a while, after teaching in high school for a few years, I had this urge, like, ah, I don't think I like all the other programming languages that exist for teaching. I will build my own language for teaching, which is what I did.

This is Haddy. It's free and open source. You can Visit it@haddy.org and it's a programming language. It's a bit like Python, but it's localized. And you will see this probably by noticing this is not in English, but this is Dutch.

And we don't only have Dutch, we have many different languages. As soon as I sort of put this on GitHub, people started to upload translations in different languages. So this is Spanish and we have Chinese and we have Hindi. So all those languages were added. And I started to get more and more excited about this idea that if we want programming to be more accessible, localizing is one of the ways we can do it.

But then I did something that is very dangerous. You should never do this. I started to feel somewhat proud of myself. In Dutch, you can Say I was standing next to my shoes of proudness. Extunt nas mais grune.

I was like, yeah, look at me building a programming language. But then I have a friend and he's from Palestine. So he was like, so Hermans, very impressive, those left to right languages. Well done you. Now what about Arabic?

Now what about Arabic? Oh, there we go. What about Arabic? I was like, yeah, that seems like a lot of work. But he made a great case.

He's like, imagine you're teaching programming in bamboo, Palestine or in Egypt. And you're like, oh, we'll do print, starts with a P. And then the kids are like, what is a P? And now it's a P different from a B and a D. It's sort of the same letter.

It's like, yeah, yeah, okay, you have a point. And also it was the pandemic, so I had a lot of spare time. So I was like, fine, I'll build it in Arabic. So it took me a little while, but this is hadi in Arabic. So you have the little drawing turtle as we had before.

You can actually use it with Arabic keywords. So then I'm going back to Aladdin. I'm like, hey friend, look what I built for you. It works in Arabic. And he looks at this.

Oh, any Arabic native speakers in the audience? Oh, very cool. Yes. So you might have already noticed, but all the other people probably haven't noticed. But my friend Aladdin was like, yeah, Felina, very cool, but can you add Arabic numerals?

I was like, what do you mean, dude, let me widesplain to you what Arabic numerals are. These are Arabic numerals, sure. He's like, no, no, Felina, no. These are actually Arabic numerals that a lot of Arabic speaking cultures use. Not all of them, but many of them use a different form.

And you can see that they are somewhat similar. They share an origin. But in Arabic there's different Arabic numerals. So it's like, huh. Til I didn't know this.

Who of you knew this before? One minute ago, 25% of the audience, I think. So then I was like, aha. Arabic numerals exist. Let me put them into programming languages and see what happens.

So this is Python. Here you have 2 and 9. Of course this gives 11. Now let's do admin and Tisa. This is 2 and 9 in Arabic.

What will happen? Raise your hand if you're like, yeah, this will work, Peaches. No problem at all. Oh, little faith in our field. Yeah, yeah, indeed.

It doesn't really work. It also doesn't really work in sort of a bad way. It's an invalid character. So you had A thing that 300 million people use, it is an invalid character. And now you might say, yeah, this is Python.

That's not really a real programming language. To entertain you, I did the whole top 10 of the tiobe index. Here we go. This is C error undeclared identifier. Well, at least it's not illegal.

This is C error on the client identifier. Illegal, non ASCII digit is what Java says. Here we have C, the build field. Thank you. That's informative.

JavaScript. Invalid or unexpected token. Okay, Here we have Visual Basic. The build field is the same build system as C. Here we have php.

I had my hopes up also for php. You see, it is trying to help me. It says there's an undefined constant. I'm assuming that it's a string. Thank you, php, that's nice.

But then it still throws an error. Here we have SQL. You would expect that data analysis is also sometimes done on other numerical systems. No error here. Yes, thank you, SQL.

And then here's assembly. It took me a great deal of effort to add two numbers in assembly because I hadn't done that for 25 years, since I was at university. But then I finished. I succeeded, but assembly failed. So yeah, this is not great.

Friends, I don't love this. Of course, in Haddy it does work, right? Because, you know, it was the pandemic and now I had to eat my words that I made it work in Arabic. So this is cool. At Leenantissa, that just adds to 11.

And here is a for loop in Arabic as well. And now you might be like, hey, that's a for loop from 1 to 0, but that is not 0, that's Hamse. That's 5. So it actually nicely outputs 1 to 5 also in the wrapping. So at this point I am still young, hopeful and naive because I think I will go back to the programming people and I will tell them about this tiny mistake and then they will welcome this feedback.

They will say, oh, Felinin, we didn't think of this quickly. We will now go home and fix our languages. The end. So I go to the biggest programming language design conferences in academia. It's called Splash.

I go there, I'm like, hey, guys and girls. But mainly guys, hey, I made a programming language and it's really cool. I swear. It's not spreadsheets this time. It is a real language.

It is Like Python, but then localized, for example, in Arabic. And at firstly they were like, why? No, but seriously, people come up to me and one person was like, why don't they just learn English? I'm like, well, I am they right? Do you hear me speak?

Do I speak like an English native speaker? So why? Because it's nice if people feel included. And what's also very interesting, I didn't realize this, being from a western country, is that a lot of people can speak English, but they don't want to because English speaking people keep bombing their country or were colonizing their countries before. So even though they can, they just don't want to.

One of the big communities we work with, with heli is in Botswana, which is a country that used to be ruled by the British. Most people are bilingual, but they prefer their own language. One of the teachers there that we worked with said to me, I'm so happy that I can use Heddy because now I can show my students that our language, Cetswana, is also the language of technology. It's also the language of the future. They don't have to use the language of the former colonizer to participate in technology.

The Dutch didn't have wars with the English for a long time. So my only hate of English is that it's annoying to pronounce. But there's a lot of people that just have this relationship with English that they don't like it. So I was like having a very long answer to this question, what? So some people were maybe convinced, but there was this other question that people kept asking me which was maybe even more interesting.

And that question was, why was that hard? Why was it hard to do this? And then my first reaction was like, I'll tell you why this is hard. I fought the spreadsheet wars for four years. I can absolutely do this.

You know about numerals? Well, you didn't know about this, but now you do. Do you know that Arabic is not just one language? It's like five languages. You get an Egyptian and a Syrian to agree on one word.

They cannot. So we need to accommodate all those variants. They have a different word order. Do you know they don't write vowels like in English or Dutch. They have little accents on the letters which they sometimes use and sometimes they don't.

Arabic guy in the first row is like, yeah, all these things. So I'm totally explaining how, how hard it was, right? I'm trying to prove that what I did was worthy. But while I was doing it, my soul was leaving my Body. And also, it wasn't a room like this.

It was this American conference center. Like, so quickly. My head was already at the ceiling and I'm looking at myself, right? I'm like, hermans, why are you in this conversation? Why are you dignifying this question with an answer?

Because, you know, you don't care. I don't care if something is difficult. Even if it would have taken me five minutes to implement all the 71 languages that we currently support, then still it would have been worthwhile because of responses like that teacher that says, this enables me to teach in my own language. So I was giving an answer, but also reflecting on, why is this something that they care about? Because I certainly don't.

So then I went home and I was like, I feel sad, right? I'm a programming language designer. I went to a programming language design conference that is supposed to be my people, but they make me feel sad. That is weird. I should fit in, but I don't.

So I'm like, I don't feel welcome in this world. Again, very sad for me, because it's not my job and it's a bit too late, I think, to switch careers. So I was like, ah, I have feelings. What do I do? I could consider therapy, but it's expensive and there's very long waiting lines, so what do I do?

So I'm texting my friends. I'm like, friends? I had this weird thing happen to me. I went to a conference about programming languages, and I didn't really feel at home. And my friends were like, felina, have you tried feminism?

I was like, again, this is about the design of programming languages. Are you sure this is the right chat? And they're like, yeah, yeah. Very patiently. They were explaining to me, a computer scientist, that feminism is many things.

And the way I had always understood feminism is that feminism is about individual liberties, about maternity leave and women at conferences and inclusive stuff happening. But then this is feminism. But this is liberal feminism that sort of looks at the world as if it's okay, and then thinks, if we just pipeline more women into whatever this is, everything will be aces. So that doesn't seem like my problem. But then they also said, but, Felina, there's also something called feminist epistemology.

And then I said, now you're using two words I don't understand. Explain this to me slowly. And I said, well, feminist epistemology is about the question of what the system is like. Who is creating knowledge, and why does that knowledge get created? That is also a form of Feminism.

I was like, oh, that does sound like my problem. Because I am wondering, how does knowledge get created in the computer science world? And then I ran into this, Glaciers, Gender and science, a paper from 2016 about how much the study of glaciers needs feminism. And I remembered this paper because in 2016 it sort of went viral on Twitter because a lot of people were complaining, oh, now feminists are ruining the study of glaciers. But this paper is absolutely amazing.

What I learned from this paper, which already I didn't know. I don't know many things like Arabic numerals stuff about glaciers is there are two types of glaciers. There's glaciers high in the mountains and there's glaciers in rural areas right next to villages where people live. This already, I didn't know. And now you may guess by a show of hands, what type of glacier do we have more data on?

Is this rural glaciers easy to read? So probably there's a lot of opportunity to sample data. Raise your hand if you're like, yeah, easy to reach. Rural glaciers are oversampled 10%. Who says no?

The high glaciers, most people, 80%. I'm going to go to the first row. Why? Why would that be the case? Because it's harder.

Exactly. Right? You know what you can do after you climb the high mountain? You can climb down the high mountain and then you can go to the pub with your friends. You're like, hey, friends, you know what I did today?

I climbed a high mountain and it was so cold and high, but I did it for science. And your friends like, yay, Harry, Harry, they like you for doing this. You are the center of the story, the hero of science. But now imagine you go to this rural glacier every day and then you go to the pub, ride with your friends and your friends like, hey, Bob, how was it today collecting the data? How were the villagers?

And they were like, yeah, Bob, are you collecting data again? You're like, yeah, for science. This doesn't mean make you the hero. So this narrative about the stuff that we value actually drives what type of data gets collected and then from that, of course, also what type of conclusions we can draw. So now I look at this paper, I'm like, interesting, interesting.

So hard stuff is valued and easy stuff is not valued. Reading this paper about glaciers told me more about the programming language community than just existing in the programming language community for two decades. Because this is us, right? This is us. We care about difficult stuff like Haskell or C because it is close to the metal.

Very cool. That is hard. Or cock A proof Assistant. But then we don't care about the easy stuff like spreadsheets or PHP or JavaScript. Those things are seen as easy, so we don't value them.

And then also I understood why I got all this pushback against my work. Because I had always thought that making something easier is inherently good, that if you make something easier, this is better because then it is more accessible. But in this way of thinking, if you take something that is hard, in my case Python, and you make it easier, you make it into heady. By localizing, you are taking away value. I was like, I didn't know.

And it makes me understand so many things about our community. If you look at it through this lens, for example, that we need to make stuff hard, or at least sound hard in order for it to be palatable in our community. And so you might say, if you're developing software, the first thing you need to do is just ask people what they need. They're like, hey, hello, I'm the software person. What is your problem?

Let me solve this problem for you. But just having something that is asking people what they need, this cannot exist in our community, because that sounds really easy. Everyone could do asking people what they need. So we have to make this into requirements engineering. It has to be made complex, or at least complex sounding, otherwise it doesn't go down.

And then this frame also made me understand why I had always felt so uncomfortable, comfortable about ddd. I mean, this is a very weird place to say this, maybe, but I have never liked ddd. I didn't get it. Like the first time people were trying to explain to me what DDD was, I was like, but that sounds as if you're saying you should just talk to customers about what they do. That's what it seems that you're doing, which is, I already had my first programming job.

This is what I did. Walking around and figuring out what people do. Why do you need all this technology for this? Why do you need all those words and concepts? Why do you need to translate this into event storming and ubiquitous language about the context?

I don't understand right. And I think with this, I sort of do understand that in the community we live in, you can't just say, what we do here at this conference is talk to customers about what they do. Europe, that doesn't sell tickets, that doesn't sell books, that doesn't fit in. It needs to be made into a system and a technology. But it also made me sort of sad then and I didn't understand well, but now I understand a bit more that apparently this means we live in a community of people, even though I do think a lot of DVD people are really nice.

But it means that we live in a community where people need to be given the technologies in order to do these things, which I find just normal human behavior. Walk around and talk to people, what they do. But this talk isn't really about ddd. It's much more about the larger scope of what programming is. Because who exists in programming given what we now know about our law for complexity?

Most programmers, law of complexity. And then this is maybe also true for other fields. I'm sure there's a lot of lawyers that say, oh, I really like to make a very complicated plea deal, that's the best thing. But then there's also a lot of lawyers that go into law because they want to help people or they want to help justice in a larger, more abstract sense. And I guess there's a lot of doctors that say, oh, my favorite Tuesday is a triple bypass operation.

Sure. But then there's also doctors that generally want to help people or they want to help healthcare in a more abstract way. All these things, all these types of people feel at home in those fields, but not in programming. In programming, the only people that exist in programming are people that love complexity. Not just the people that stay in, but already the people that start.

There's this really sad paper from the 2017 that says that the biggest predictor for not studying computer science is caring about social change. So they looked at all of these 18 year olds and all the things they care about. And if you care about social change, you are least likely to enter computer science. And that's just the beginning. Then I studied computer science.

Then you go in and then you get five programming courses, five compiler courses, three database courses, and then maybe one EC about ethics. So if you cared about social change in the beginning, then maybe what you now care about is complicated algorithms. So then I was like, huh, interesting. So who of you didn't study computer science but something else more sensible? Yeah, you may laugh very loudly at the next thing I'm going to say.

Because now I concluded after this, well, well, well, science is not neutral. I didn't know this. I thought science was neutral. This is what they told me in engineering school. Science is neutral.

And science also isn't rational. Right? This idea that the things we value in society so much shapes what we study means that it's not just a purely rational and neutral field. I had no idea. Friends, I'm sorry for not knowing.

But now I know stuff is not going to get more fun. Who knows who this is? Von Neumann. Yes, we know von Neumann, of course, from the von Neumann architecture that is probably in your phone and your laptop. Sort of a inventor of the computer.

But, yeah, what we might know von Neumann also from. You might know this atom bomb. The atom bomb. Thank you. This is also something they didn't really tell me in university, that von Neumann was so instrumental in building the first atomic bombs.

Not just building them, but also deciding where to detonate them. He actually wanted to detonate them in Kyoto because of the cultural status of the city. It would do more damage. And he personally calculated at what height the bombs should be detonated for maximum civilian casualties. So I'm like, I didn't know this.

I knew all the stuff about the architecture, but not about this. And I'm not saying now we shouldn't talk about von Neumann, but maybe he shouldn't sort of have a hero status, but he does, right? This is ieee. It's a community of computer scientists and electrical engineers. And their goal is to be a professional organization dedicated to advancing technology for the benefit of humanity.

Oh, nice. The benefit of humanity. I would say 200,000 civilian casualties is sort of the opposite of benefit for humanity, but not IEEE, because since the 90s, they're handing out a von Neumann medal. I was like, yeah, we don't need to do this. Right.

Maybe we should somehow reckon with the fact that things happened the way they did. And I feel bad about not knowing this, but also I feel bad of existing in this field. And if you think 200,000 civilian casualties are no fun, it's going to get worse. Who do we see here? Hitler.

Yes, thank you. Yes, that's the first person on the left. Who's the next one in the middle? No hint. He's a computer scientist.

Yes, it's actually Thomas J. Watson, the head of IBM. And this is 1937. So you might wonder, what is the head of IBM doing drinking tea with Hitler? So what is he doing there?

He's getting a medal. It's not a John von Neumann medal. They didn't have it then. It is a medal for good collaboration with Nazi Germany, for selling one 1.5 billion punch cards a year to Nazi Germany. So these punch cards that we might know from these old computers were actually used to very detailedly administrate who was Jew, whose parents and grandparents and even further back were Jewish.

And then the automated machines that IBM was selling were making it easier to do calculations and Then of course, all the other stuff. And they were also used to, to make timetables for the trains. It's like, I didn't know these things. I feel ashamed for not knowing these things. And then this, what you see here is the IBM headquarters in New York, where I've also been not too long ago.

And this building is called the Thomas J. Watson Building. I want to know these things before I go in, right? And it's not like this was a secret. This was the New York Times in 1937.

So it's like, oh, well, we couldn't have known. We could have known. We just prefer to forget this. And then sort of fast forward to now. Now there are people in computer science saying, oh, no, but AI is being used in warfare to kill people.

What happened? But this was always the origins of this field. And if we don't somehow talk about that, talk about that history, then stuff is not going to get better in the future. So now maybe you're like, hey, weren't you supposed to talk about AI? Why are you chatting for half an hour and not talking about AI?

So firstly, do you know where the term AI comes from? There are just like 10 dudes and they wanted to go on a summer camp together in the 1950s. And they thought if we call it AI, then it sounds very impressive. They had this proposal that said, oh, with 10 people, we can really take a stab at artificial intelligence. So just by talking about whatever I want and calling it AI, I am standing on the shoulders of giants.

This is what they do. But also, I will talk about AI. I will absolutely talk about AI. Because sort of as this identity crisis of me was unfolding in the meantime, also our field was doing fun things with LLMs. Yay.

And then with my knowledge of our history, with my knowledge of the lack we have of, of an interest in philosophy of science, I thought, hey, this AI hype is yet another example of us thinking that technology is neutral while it's actually being steered by a lot of social factors. Who knows what I so skillfully copied here? What is this? Drosophila. Thank you.

A fruit fly. Yes. Soon they will appear in your kitchen again because the temperature is rising and there's a one molecule of fruit and then they are there. So the fun thing about the Drosophila is it very much steered the field of genetics because when people started to study genetics, they needed an animal to study. And they tried mice and rat, but they escape.

And then also if they escape, they destroy cables and stuff. So they're no fun. They also tried little worms, but then the worms were like, this is a lab, I want to not eat and multiply. But the fruit flies, you know this, they do not have these quirks. You just give them a banana and the next day you have 100.

So therefore the scientist was like, ah, this is a very useful little animal to study. And this means we have a lot of information about genes and genetic crossing, but we don't have so much information about what actually happens in a long pregnancy on genes, because that hasn't been studied so much. So the fact that this was an easy to study animal meant the sort of knowledge that we know about is steered and the same thing. You might ask this about AI, and I wish this was my brilliant idea, but sadly it is not. There's this historian of computer science called Nathan Ensmanger and he asked this question, he said, what is the Drosophila of AI?

What is the one thing that AI researchers from Darth Birds from the 1950s to the 1990s, what were they obsessed about? You may guess, by shouting, destroying humanity a little bit smaller at the time, money controlling. So they were like studying one specific thing. Poison gas. Like from the ballistics.

Yes. This actually was one of the things computer science was also working on from the 50s to the mid-90s to the mid-90s is an important hint. Chess. They were studying chess. Ensmenger says that chess is the Drosophila of artificial intelligence.

A beautiful paper in which he sort of explains how computer science, or AI in more specific, got so obsessed with chess. Because the nice thing about chess, it is it can be exactly captured in the logic of computer science with the binary form true or false. You can look at a field and you can say, this king is under attack, this white king is under attack because of the rook, and that white king is not under attack. Perfect. You can capture everything in yes or no.

And what Ensmenger is arguing is that way of thinking, of measuring, of benchmarking, of classifying. When AI started to research other things like art and language, as they do now, they just took that whole methodology towards other things. But of course, you can't really say about an artwork. You can't say, oh, this is good and that is bad. Right.

You can't really say about a work of literature, yes, this is true and this is false. But the same methodology of testing and refining and benchmarking came from chess, just with the same researchers towards LLMs. But the fun thing about chess is that there's a lot of things to Say about chess that aren't just the game of chess right here. You see, by the way, that in the mid-90s, for people who weren't following the news then, Kasparov lost to an IBM machine. And that sort of solved the problem of chess at the time.

Because the interesting thing about chess is that after Deep Blue, this was the name of the computer. Nothing really changed in chess. Still today, if you are playing chess with a friend and they go to the bathroom and you take your phone to look up the next move, this will destroy your friendship. And if you do this in a club, they will kick you out. So apparently these tools to solve chess, they exist and they have existed for decades.

Yet we don't really use them in social settings or professional chess settings. That is an interesting notion, that something can exist, but we can still choose not to use it. This is maybe hard for programmers, but it is possible for not people. So Herb Simon was one of the pioneers of AI. He was already predicting this.

He said, already in 1990, 1956, in 10 years, a computer will be the world champion of chess. So he was off by 30 years. But he was sort of setting this goal then. But we also had the same situation for large language models for a while. Remember this?

This was in 2011, when there was a machine from IBM called Watson. You know now, right, Called Watson after Thomas G. Watson. This machine then won the game of Jeopardy, which is a sort of language quiz in which you get an answer and you have to formulate the question. So there was already this language machine capable of doing pub games.

And then we programmers, we were like, oh, that's so cool. I was also at that time, like, oh, it's so cool that this thing exists. We were downloading it and playing with it, having it generate recipes. There was this chef Watson for a while. Super cool.

This is so awesome. And then normal people were like, oh, well, the computer people invented robots. Oh, it can play TV quizzes. So cool. I would love to go back to this.

So I don't necessarily have something against all of the technology of LLMs, but why must we use it for all the things? I would like it to be like chess, where we say, yes, this a problem that now can be solved by computers, but in whatever social or competitive or professional setting, we don't use it. Because chess is a thing between two people. And I would say so is programming or writing literature or making art. And luckily, there are also people in the programming space that have thought about, what does it mean to do programming in A wider sense than just programming is solving a problem.

Here's Peter Nauer. You might know him from the Backus Naur forum. Even though he doesn't like to be associated with that anymore. He is saying, and this is a paper from 1984. What characterizes intellectual activity over and beyond activity that's merely intelligent is a person building and having a theory.

And here he says, a theory must be understood as the knowledge a person must have in order not only to do certain things intelligently, but also to explain them, to answer queries about them, to argue about them, and so forth. So he's saying, there's a very clear difference between just doing something like writing code and doing something in such a way that later you can answer questions about it, your co worker comes over to your desk and says, hey, why did you implement it like this? And then you can say, well, I tried four other things and they failed, and this is the way it is. So maybe, maybe we have artificial intelligence, but certainly I would say we don't have artificial intellectual activity. We don't have machines that can produce knowledge and then also reason about the knowledge and defend the knowledge.

Certainly if you ask an LLM1 why did you implement it like this? It will say, well, because it was a Tuesday. And you're like, but friend, it's a Wednesday. It's like, oh, so sorry, because it's a Wednesday. It doesn't build a consistent model in itself.

So it can never answer these questions. And there's so many other thinkers about technology that rarely we talk about because we're always so busy with the newest technology and we have a new framework or a new programming language that, that we never really look at the history of technology. Here's a quote from Martin Luther King from his Nobel prize speech in 1964, and it is just beautiful and so applicable to today as well. He says, every man lives in two realms, the internal and the external. The internal is the realm of spiritual ends expressed in art, literature, morals and religion.

And the external is that complex of devices, techniques, mechanisms and instrumentalities by means of which we live. Our problem today is that we have allowed the internal to become lost in the external. Yeah, that's computer science in 2026, right? The moral, no one talks about this. We just care about building all the complex devices.

And he then cites the poet Thoreau. He says, so much of modern life can be summarized in that arresting dictum of the poet, improved means to an unimproved end. So if the technology is better or quicker, it doesn't matter if what we're building is not good. So now I'll do something. I did this a few talks before as well, and maybe it's going to be.

But I want you to raise your hand if you believe that the software you are building is contributing to a better world. Okay? Now look around. So even if we believe, which I don't, but even if we would believe that LLMs are going to make software production quicker and better and less error prone, if we ourselves already not as 100% in the room, believe that we are building things that matter, if only 1/4 of us believes this, then can LLMs ever be good? Is it better if what we're doing is not the right thing?

So then you must wonder, what is programming for? And having walked around in this field for 25 years, I think the sad answer is that programming is to make programmers happy and programming is to make programmers proud. That's what it's for. Because the people that care about social change, they have left the building. So the people that remain are the people that care about complex systems.

And of course, there might be a few people that also care about social change and also about complex systems. But if you look at our field, this is what programming is for. Everything must be made more complicated and more interesting so that we have a more interesting life, very much this external life and not the moral internal life. And then of course you also get to this question, like what even is programming? So you go to the only source of knowledge that still exists on the Internet, which of course is Wikipedia.

Nothing? No, Wikipedia. The only place where the bots are still not really allowed. So look at this computer programming. What is it?

Well, it is. Oops, sorry, I have to go back. It is the composition of sequences and instructions called programs. We are designing algorithms, specifications, writing code in programming languages. Look, we climb the high mountains, we do the complicated stuff.

So who here in the audience would identify as a test a debugger, Q and A, anything that isn't core programming? No one. Okay, good, good, because the next slide is going to be really sad for them because here, auxiliary tasks, auxiliary tasks of program are analyzing requirements, testing, debugging. This is our field. I hope no one goes to log into Wikipedia and change this because, well, I have a screenshot, but I think this better than anything, summarize what we're doing.

Look, we're doing very complicated things for ourselves and then, yeah, sometimes, sadly, we have to ask people if it's really what they like. We do it very quickly. Also it's absolutely engineering. And then we go back to building the hard stuff. Whereas I had always thought, but clearly I was naive and misled, maybe that programming is about really liking a problem and having it deep interest in a problem and then building something for that problem.

Like before I built Hattie first I was teaching 12 year olds for a few years that I really fully understood the problem that I was solving. And then I went to build software. But then that's not really it, right? I like building anything, but that's not true. I now realize for other people, for me, programming is just another way of solving.

I don't like programming because I like programming. I like programming because it allows me to do things, just like I like knitting because it allows me to do things. So let's look at the Wikipedia of knitting. That's also fun. Who is a knitter in the audience or a crocheter or a bunch of you?

Very, very cool. I heard there was a talk about knitting earlier, but I missed it. So what is knitting? It is a method for the production of textile fabrics. We build stuff that people like.

It's not auxiliary. And of course there is stuff, there is technology that is necessary. Before you can do something, you have to learn how to knit. But the core thing is making something for people and then there is technology necessary. It is very complicated, but that's not stressed so much.

And now maybe you might wonder what is there in this hole? There's a picture of a woman knitting. It's very important with this picture of hands that could be of either gender that we say, this is a woman knitting. Also, please don't log into Wikipedia to fix this, because I actually like this. It's very important that we point out that this is for the girls, right?

Not everyone can do knitting, just us. And if you're not a knitter, if you're like, yeah, knitting is not as hard as programming. I challenge you to read this and then to make it into that this is the thing I can do. And other people that raise their hand can also do this. So it is so incredibly complicated.

But then we don't talk about this ever. You don't go to a knitting circle and people are like, oh, look what I have, this 17 page pattern. It's so complicated. I just have to do some requirements engineering to find someone that wants to to wear it. This never happens, right?

It is so radically different. So I'll close it off with a few happy quotes because we want to go home happy and not thinking about the atomic bomb. And Hitler. So let's go to Ada Lovelace. She was already thinking about AI in the 1800s.

Isn't that cool? There's this thing she wrote in 1843. Great. Called Node G, which was an implementation of an algorithm. And she was talking about the Analytical Engine, which was a computer that they were building at the time.

And she says, it has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It only does what we tell it to do. It doesn't look at the world and think, oh, I need software for this. It doesn't originate anything.

At least so far. ChatGPT never asks you a question. You don't boot your laptop. It's like, hey, it's your friend Chat. I was wondering.

No, you ask it questions. It never starts something. Its province is to assist us in making available what we are already acquainted with. Isn't there a better summary of a machine that reads the entire Internet and then rehashes it and presents it back to you? I'm already acquainted with this.

I want to do new things. I want to walk around in the world and say, hey, here's a problem that needs some software. So there's so much happy news about chess that no one really changed their behavior in chess. And you know who also already knew this? Herbert Simon.

The Herbert Simon connoisseurs in the audience were already itchy before, right? They were like, ho, ho, ho, Hermanns. This is only half the quotes you cut off the last part. Yes, yes, but it is coming now because he said, In 10 years a computer will be the world champion in chess unless it is barred from competition. So he already knew, right?

No one was waiting for his nonsense. No one wanted this. And still today, people don't want a machine in chess to participate in this human competitions. We want this to be for people. And I would like the rest of the world to also be like this, where we as programmers, we communicate with people with or without an ubiquitous language.

I don't mind, but let's bring back this world. Or maybe it was never there, but then let's create this world in which we as programmers have a responsibility to make stuff for people, and not just for our own pleasure. You can do that on Saturday, in the rest of the week, can you do, please make something that benefits humanity. So this part from competition, I think that's very a useful way of thinking about it. We can actually make the world different.

And there's this fantastic quote by David Graeber, who knows David Graeber, a bunch of you. Yeah, from maybe the book Bullshit Jobs. That's what he's most well known for. Now he has another bull that's also very, very useful called Utopia of Rules, about bureaucracy. It has a lot of overlap with computer science as well.

But he's not alive anymore. And in his final book, he says that the ultimate hidden truth of the world is that the world is something that we make. The world doesn't just happen to us. Oh, LLMs will take over anyway. No, we are allowing this to happen, but we can also not do that.

He says we could just as easily make it different, and I think that's very hopeful. We have to work against the lack of people that care about social change in our community, but I know there are a few that still do. So we can make a different programming and a different world if we really want to. We don't have to obey to this notion of, oh, yeah, now it will happen. So might as well just do some prompting engineering.

You don't have to do this. You choose to do this, but you don't have to. So that was me. If you're like, oh, my God, that was so much fun. Now I like myself and programming much better, if only every Sunday at, like, around 11, I could consume 2 to 3,000 more of those words for free.

Well, if that is what you were thinking. Subscribe to my free newsletter every Sunday. I talk about AI in the news and programming and feminine and epistemology. The end.