Algorithms + Data Structures = Programs - Episode 211: Power, Politics and Misconduct in C++ ✨

Episode Date: December 6, 2024

In this episode, AI summarizes a blog post and the corresponding reddit thread.Link to Episode 211 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The Podcas...tConor HoekstraShow NotesDate Generated: 2024-11-21Date Released: 2024-12-06Blog Post: On "Safe" C++ - HELL IN A REFCELLReddit CommentsNotebookLMIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8

Transcript
Discussion (0)
Starting point is 00:00:00 All right, let's dive in. Today, we're looking at this really interesting discussion that's been happening over on Reddit. It all started with a blog post called On Safe C++. Well, it's safe to say it stirred up some strong feelings in the C++ community. Yeah, no kidding. It's a pretty provocative piece. Over 400 comments now and people are not holding back. Oh, right. The Rust Derangement Syndrome thing. You see that pop up anytime someone criticizes C++ and then praises rust in the same breath. Oh, yeah. It's a classic. Like you can't possibly like both.
Starting point is 00:00:31 Well, it's not that simple, is it? I mean, there's room for both languages. They both have their strengths and weaknesses. And this is about more than just C++ versus rust anyway. It's about the culture of the C++ community, the power dynamics within the standards committee, you know, the whole ethical dimension of it all. Welcome to ADSP, the podcast, episode 211, generated on November 21st, 2024. My name is Connor, and today AI summarizes a blog post and its corresponding Reddit thread. The author of this blog, Izzy Muerte, after listening to this episode, communicated to us that the notebook LM summary did not capture the article correctly, which was coincidentally one of Izzy's goals when writing it, that being trying to write it in such a way that it would confuse LLMs. Izzy asks that if you were going to refer to anything stated in the audio episode summary that follows, please go and find the corresponding content in the blog and
Starting point is 00:01:38 refer to that. Furthermore, there are a number of mistakes that Notebook LM makes, one being incorrectly referring to Gabby Dos Reis as she when his pronouns are he slash his, which Izzy definitely did not do in the blog post. Additionally, in the Reddit comment summary, it mentions that the blog is written by not Izzy, but the original poster of the Reddit post, Simon underscore O. This is a mistake as the blog post is fully Izzy's work. All right, listener. Welcome back. Today, we're a mistake as the blog post is fully Izzy's work. All right, listener. Welcome back.
Starting point is 00:02:06 Today we're diving deep into a blog post. It's called On Safe C++ Hell in a Ref Cell. And it's by Isabella Muerte. Oh, yeah. This one is, well, it's intense. Yeah, it is. Yeah. And it gets into some pretty heavy stuff,
Starting point is 00:02:24 like the whole fight over memory safety in C++ and the drama going on within the C++ committee, you know, WG21. It even touches on some, like, bigger ethical questions in tech, too. Exactly. So, are you ready to get into it? Absolutely. Let's dive in. Okay. So, Muerte doesn't waste any time.
Starting point is 00:02:42 She jumps right into the core issue, C++, its lack of built-in memory safety. Right, which is a problem. It's been causing serious vulnerabilities for a long time. And there's a ton of pressure on the committee to fix it. Yeah, but there are two main approaches that are kind of clashing. Okay, so what are they? Well, on one side, you've got Darnist Rastrup, the creator of C++, pushing for something called safety profiles. I've heard of that, but isn't it kind of vague? It is, yeah.
Starting point is 00:03:07 It's more of a concept than an actual solution, which leaves a lot of questions about how it would work in practice. So not a lot of specifics. Not really. And then you have Sean Baxter, who's developed Safe C++ with borrow checking. Now that one I'm more familiar with. It takes some ideas from Rust, right? Which is known for being really strong on memory safety.
Starting point is 00:03:25 Exactly. And Baxter actually has a working implementation in his Circle compiler, so it's not just theoretical. So you've got these two very different approaches, and it sounds like it's getting pretty heated. It is Muerte even calls the main players in this whole saga the Gaslight Gatekeep Girlboss Trio. Whoa. Okay. That's a pretty loaded term.'s she getting out there well she's suggesting that there's a lot more going on than just technical disagreements you know there's power dynamics personal relationships all that stuff so it's not just about the code
Starting point is 00:03:55 not at all yeah it's about who has the power to decide how c++ evolves got it okay so who are these uh this trio well first you've've got Bjarnas Graustrup, the big guy, the one who created C++. Yeah, he's obviously got a lot of influence. But Muertes suggests that he might be resisting change, especially if it threatens his legacy. Do you think that's fair? I mean, it's hard to say for sure, but he has been pretty vocal about wanting to maintain backwards compatibility, even if it means compromising on safety. Which makes sense to some extent. You don't want to break all the existing C++ code out there. Right. But at what point does that become an excuse to avoid progress? That's the question. Yeah, I see her point. OK, so who's next?
Starting point is 00:04:40 Next, you've got Herb Sutter. He's the chair of the C++ Committee. So he's kind of the mediator between Strauss-Strupp and everyone else. Oh, that's got to be a tough job. Yeah, he's got to balance a lot of different interests. And Morte criticizes him for making big promises that he doesn't always keep. Like what kind of promises? Well, like promising to deliver certain features or to address certain issues. And then it just doesn't happen.
Starting point is 00:05:04 Or it takes way longer than expected. So she's saying he's not as effective as he could be. Basically, yeah. And then there's Gabby Das Reis. She's a protege of Strausstrup. And she's known for defending the committee's decisions no matter what. Oh, wow. Even when they're controversial.
Starting point is 00:05:19 Especially when they're controversial. Maritay portrays her as being very loyal to Strausstrup and maybe not so open to other viewpoints. So it sounds like there's a real power struggle going on here. Absolutely. And Muerte argues that this dynamic is actually harmful to C++. You know, it's preventing the language from evolving in a healthy way. And she backs this up with some pretty serious allegations of misconduct within the community. Right. She talks about Michael Wong, who's a committee member with a lot of influence on safety standards.
Starting point is 00:05:49 OK. What about him? Well, Marte alleges that he's engaged in inappropriate conduct, and she highlights the potential conflict of interest there, given his role in defining safety standards. So she's questioning his integrity. Exactly. And this ties into a larger issue of accountability within the committee. You know, how do you ensure that people in positions of power are held responsible for their actions? That's a good question. And it's something that a lot of tech communities are struggling with. Okay. So what else does she bring up? Well, she also questions whether Gabby
Starting point is 00:06:18 Dasrace might have misled the committee about the use of C++ modules. How so? She claims that Dasrace made statements about modules being used in Microsoft Edge, but then the Edge team switched to Chromium, which doesn't use modules at all. So she's saying that Das Reis wasn't being truthful. Yeah, or at least that she was overstating the importance of modules. Which again raises questions about the committee's decision-making process. Right, exactly. If people are being misled or if they're prioritizing their own agendas over the good of the language that's a problem the big problem yeah and then there's the whole arthur o'dwyer situation oh yeah that one's really tough so for those who don't know arthur dwyer is a well he's a convicted rapist and muerte claims that
Starting point is 00:07:00 certain committee members including herb setter Sutter, actually defended him. Seriously? Yeah. She says that Sutter even suggested that O'Dwyer join NCITES, which is the larger standards organization that WG21 is a part of. So he could keep participating in standards meetings. Exactly. And Muerte argues that this prioritizes protecting O'Dwyer over the concerns of the wider community. Which is, wow, that's really disturbing, if that's true. It is.
Starting point is 00:07:26 And it raises a really important ethical question. Should technical expertise excuse unethical behavior? And the answer is obviously no. Right. But it seems like some people in the C++ community aren't so sure. And Muerte doesn't stop there. She also points to cases where dissenting voices were silenced or pushed out of the community. Like who?
Starting point is 00:07:48 Well, she mentions Barbara Geller and Chandler Carruth. What happened to them? They were both reportedly removed from positions for challenging the status quo. So she's saying that the C++ community is intolerant of dissent. That's what she's arguing. Yeah. And she connects this to a broader problem of, well, let's just say negative behaviors within the community. Like what?
Starting point is 00:08:07 Well, she talks about how critics of safe C++ often resort to personal attacks and dismissive language instead of actually engaging with Baxter's ideas. Which is not how a healthy technical community should operate. Right. It should be about open discussion and debate, not about shutting down anyone who disagrees with you. And she points out this weird contradiction. The C++ community often rejects borrow checking because it supposedly creates dialects within the language. Right. But they seem to ignore all the existing variations in C++ usage that are already out there. Yeah. It's like they're saying our way is the only true way. Which is, well, it's hypocritical. And it stifles innovation.
Starting point is 00:08:48 Absolutely. And then she gets into Vinnie Falco, who's the head of the C++ Alliance. Oh, yeah. What about him? Well, he's been funding
Starting point is 00:08:55 Sean Baxter's work on Safe C++, which sounds good on the surface, right? Yeah, it does. But Marte argues that it's not that simple. She says that Falco
Starting point is 00:09:04 has a history of control issues. And she cites his attempts to exert influence over the boost project as an example. So she's questioning his motives. Exactly. She's suggesting that he might be funding Baxter's work as a way to control safe C plus plus not out of any genuine desire to improve the language's safety. Hmm. That's interesting. And then there's the Boost logo controversy. Remember that? Vaguely. Remind me. Well, the proposed logo for Boost, which is a widely used C++ library, contains some imagery that some people found questionable. Oh, yeah. I remember that now.
Starting point is 00:09:38 And this raised concerns about Falco's judgment, especially given his association with John Kalb, who, as we discussed earlier, defended Arthur O'Dwyer. So it all ties back together. Exactly. And it paints a pretty troubling picture of the C++ alliance. Yeah, it does. So we've covered a lot of ground here, but there's still more to discuss. Muerte goes on to connect the C++ memory safety debate to the hype surrounding AI. And she even brings up the 1967 film Year 1999 AD, which is a fascinating look at how people used to envision the future.
Starting point is 00:10:12 So stay tuned for part two where we'll dive into all that. Looking forward to it. Me too. This is, well, this is quite the deep dive. It is. It really makes you think about the people behind the code and the power dynamics that shape the technology we use every day. And it's not just about criticizing the C++ community. Morate's blog post actually goes
Starting point is 00:10:29 deeper. She calls for a more inclusive, more ethical approach to how we design languages. And she brings up this concept of feminism, but not just about gender equality, you know? Right. Like I've heard this idea before that applying a feminist lens to tech can lead to better outcomes for everyone. Exactly. It's about thinking about the users, their experiences, promoting empathy, understanding and encouraging a collaborative approach when making decisions. Which, to be honest, a lot of popular languages already do, even if they don't call it feminist. Totally. Like look at languages like hair or zig. They're designed by individuals, not committees. And they really value user feedback and community involvement.
Starting point is 00:11:09 So they see the language creator as more of a steward, not a dictator. Exactly. And Morte brings up this example, Amy J. Koh's language called Wordplay, which is all about user centricity and experimentation. Okay. I haven't heard of that one. How does that work? Well, Koh encourages users to share their experiences and ideas. It's more collaborative than just submitting bug reports or suggestions, you know.
Starting point is 00:11:29 So it's more about building something together as a community. Yeah, it's about moving away from that traditional top-down model where a few people make all the decisions. I see. So back to C++, Moritze suggesting that maybe it's struggling because it hasn't embraced these ideas? Well, she acknowledges that it's tougher for bigger languages like C++ with its committee structure, but she still sees those, let's just call them problematic behaviors at play. Right. And just to be clear, we're not saying that everything masculine is bad. It's about recognizing those harmful behaviors that can pop up when traditional masculinity goes too far. Absolutely. It's about recognizing those patterns and trying to break free from them.
Starting point is 00:12:09 So what does that look like in the C++ community? Like what specific behaviors is she talking about? Well, she mentions this constant need to prove technical superiority, dismissing alternative viewpoints using aggressive or dismissive language. It's like winning the argument becomes more important than finding the best solution. That's a, yeah, that's a problem for sure. It creates this toxic environment where people are afraid to speak up or share new ideas. And it pushes away people who don't fit the stereotype of a C++ programmer, which limits innovation. For sure. So does she give any specific examples of this behavior? Yeah. She talks about John Lakos, a committee member who got caught recording conversations during a meeting because he didn't get his way on a proposal.
Starting point is 00:12:54 Wow. Seriously. Yeah. And then there's Vivol, another committee member who apparently insulted other members and said things like, forget you and your proposal. That's just unprofessional and completely unhelpful. Right. It creates this hostile environment.
Starting point is 00:13:09 And then she shares her own experience with harassment on the C++ Slack. Oh no, what happened? So the C++ Slack is run by the C++ Alliance, and she was targeted by Glenn Fernandes, a committee contributor who apparently harassed her for hours. Oh wow, that's awful. What did she do? She reported it to Herb Sutter, but he initially threatened to ban her from the center. Seriously? That's just backwards.
Starting point is 00:13:33 Yeah. And it was only after she showed him screenshots of the conversation that action was taken against Fernandez, who was told not to contact her again. That's worrying. It seems like there's this tendency to protect established members even when they're clearly in the wrong. her again? That's that's worrying. It seems like there's this tendency to protect established members even when they're clearly in the wrong. Right. It raises questions about how seriously they take these kinds of complaints. And speaking of the C++ Alliance, Murtay gets into Vinnie Falco's actions. You know, he's the head of the alliance. Yeah. And he's been funding Sean Baxter's work on safe C++. Right. He has, which on the surface seems like a good thing.
Starting point is 00:14:06 Yeah, supporting a project that could make C++ safer, great. But Muerte suggests it might not be that simple. She's concerned about Falco's history. She describes him as having control issues and brings up how he tried to influence the Boost project. So it's like, is he supporting safe C++ because he genuinely believes in it or because he wants to control it? Exactly. That's the question. And then there's the whole Boost logo controversy. Remember that? Oh, yeah. Vaguely refresh my memory.
Starting point is 00:14:33 The proposed logo for Boost, that C++ library, apparently had some, let's say, questionable imagery. Right. It raised questions about Falco's judgment, especially since he's associated with John Kalb, who defended Arthur O'Dwyer. It's like all these things start connecting and it doesn't look good for the C++ Alliance. No, not really. So what else does Morite get into? Well, she makes this interesting connection between the C++ memory safety debate and the whole AI hype. Okay.
Starting point is 00:15:01 I'm curious. How does she tie those together? She sees both as being driven by this desire for a silver bullet solution, you know, a quick fix that solves everything. Right, like a magic wand that makes all the problems disappear. Exactly. But both AI and these safety profiles are being presented as cure-alls, which is dangerous because it sets up unrealistic expectations. And when those expectations aren't met, people get disillusioned and disappointed. And it distracts from the real work that needs to be done, which is addressing these complex issues in a thoughtful and nuanced way.
Starting point is 00:15:34 So it's not just about finding a technical solution. It's about changing the culture, the mindset. Exactly. And she specifically calls out Andrew Tomazos, who submitted a paper to the C++ committee that was actually generated by ChatGPT. Oh, wow. Seriously? Yeah. She sees it as a sign that some people are putting too much faith in AI. Like it can solve all our problems. Which is a bit naive, don't you think? It is. It's like we need to be careful not to let our enthusiasm for technology blind us to its limitations. Okay. so AI hype silver bullets. What else? Well,
Starting point is 00:16:06 Morette takes us back in time to 1967 with this film called Year 1999 AD. What's that about? It's basically this super optimistic vision of the future full of amazing technology and societal progress. Like a utopia. Basically, yeah. And she compares the promises made in that film to the state of the world today and the C++ community. Okay, I'm seeing the contrast already. We're not exactly living in the utopia, are we? Nope, not quite. And she argues that there's this disconnect between that old vision of the future and the reality we're facing now. Climate change, inequality, technological stagnation.
Starting point is 00:16:39 Yeah. It's not pretty. Not really. And she ties this back to the C++ memory safety debate. She says this push for a quick fix like safety profiles comes from that same yearning for a simple solution. Like we just want to go back to that naive optimism of the past. Exactly. But she reminds us that that's not possible. We have to deal with the complexities of the present. So how do we move forward?
Starting point is 00:17:00 Well, she brings back the Dark Souls analogy. Remember that? Oh, yeah. C++ is a video game. Interesting. Yeah. It's about these cycles of destruction and renewal, the struggle between clinging to the past and embracing change. And she compares Bjarni Straustrup to Gwyn, the Lord of Cinder, who sacrifices himself to prolong the Age of Fire, even though it's harmful in the long run. Right. It's like he's so focused on preserving his legacy that he's preventing C++ from adapting and evolving.
Starting point is 00:17:30 So what's the alternative? Well, Morte says we have a choice. We can keep clinging to the past, which might lead to the decline of C++, or we can choose a different path. A path that embraces the unknown and allows the language to grow in new ways. Exactly. It's a powerful message. It's about taking responsibility for the future of C++ and recognizing that we have the power to shape it. It's inspiring in a way. Yeah.
Starting point is 00:17:54 But also kind of daunting. It's a lot to think about. It is. But it's important. We need to have these conversations to challenge the status quo and to work towards a better future for C++ and for technology in general. I agree. So where do we go from here? What's next in Muerte's blog post? But Muerte doesn't stop there. She brings up Justine Tunney, you know, the programmer who created the Cosmopolitan C library. Oh yeah, I know her work. What about her? Well, Muerte speculates that the name Cosmopolitan itself might actually be a
Starting point is 00:18:25 reference to a term that well has some problematic historical baggage huh that's interesting I hadn't thought about that but I can see how that could be a concern yeah and she also points to some of Tunney's past tweets some of which have apparently been deleted or removed from archives like she mentions one where Tunney praises AI for quote elevating the universe to a higher state of complexity. Okay. And what's wrong with that? When Werte suggests that it might align with certain ideologies that, let's just say, not everyone is comfortable with.
Starting point is 00:18:53 I see. So it's more about the potential implications of that statement. Right. And it raises questions about how we interpret and contextualize online statements, especially ones that might have been made years ago. Yeah. It's tricky because people's views can change over time, and it's not always fair to judge someone based on something they said in the past. True. But it's also important to acknowledge that words have power and that even seemingly harmless statements can carry unintended meanings. Absolutely. Context is everything. And that brings us back to the C++ community. Huerte argues that this resistance to change this embrace of, well, let's just say certain negative behaviors, it all stems from a fear of losing control. A fear of the unknown. Exactly. And she suggests that this fear is what's preventing C++ from evolving to meet the
Starting point is 00:19:41 challenges of today's world. So it's like they're clinging to the past, even if it means holding the language back. Yeah, like Gwen in Dark Souls, sacrificing everything to maintain the status quo. Right. But as we know, that never ends well. Nope. It just leads to more suffering. And that's where Muerte leaves us with this dark choice. Cling to the past or embrace the uncertain future.
Starting point is 00:20:02 It's a powerful question. And it's not just relevant to C++. It applies to all of us in tech and beyond. It does. It's about recognizing that change is inevitable and that we can either resist it or we can try to shape it. And that shaping, that's where the real work lies. It's about being intentional, about considering the ethical implications of our choices and about building a future that benefits everyone, not just a select few. And that's a future worth fighting for. So, listener, what are your takeaways from all of this?
Starting point is 00:20:32 Did this deep dive change how you view C++ or the tech industry in general? I know it's given me a lot to think about, and I hope it's done the same for you. We've covered a lot of ground from memory safety and borrow checking to feminist design principles of the role of AI. But this is just the beginning of the conversation. There is always more to explore, more perspectives to consider and more work to be done. So keep questioning, keep learning and keep pushing for a better future. Well said. And on that note, thanks for joining us on this deep dive listener. Until next time, keep exploring.
Starting point is 00:21:03 All right, let's dive in. Today, we're looking at this really interesting discussion that's been happening over on Reddit. It all started with a blog post called On Safe C++. And, well, it's safe to say it stirred up some strong feelings in the C++ community. Yeah, no kidding. It's a pretty provocative piece. Over 400 comments now, and people are not holding back. So we've got this blog post, a mountain of comments, lots to unpack. We're going to try and make sense of it all for you, break down the arguments, look at different perspectives, and hopefully shed some light on what it all means for the future of C++ play.
Starting point is 00:21:39 Yeah, we'll give it our best shot. Okay. So first things first, the blog post itself, it's written by someone who goes by Simon Toro. They're pretty deep in the C++ world, but it's clear they're not happy with the direction things are heading. Right. Simon Toro's main point is that, well, they argue that the C++ community just isn't willing to take safety seriously enough. And they're very critical of the standards committee and some of the big names in C++ laros. One of the things they really go after is safety profiles, right? This is something that folks like Herb Sutter and even Darnie Strauster are pushing for. Can you give us a quick, quick explainer on what these safety profiles actually are and why they're causing such a fuss? Sure. So in a nutshell, safety profiles are a way of defining different levels of, you know, safety guarantees for C++ code. The idea is that you could choose a profile that kind of matches the specific needs of your project, whether you're prioritizing, I don't know, performance or you need really tight security.
Starting point is 00:22:38 But Simon Schultz's argument is that it's just not enough. So are they saying the idea itself is bad or just that it's not going far enough? I think it's more the latter. They see it as kind of a Band-Aid solution. Like it won't actually address the underlying issues with C++ itself. Interesting. So they're saying if you really want safety,
Starting point is 00:22:56 you need to make more fundamental changes. Exactly. Simon Dennis Lee thinks C++ needs to learn from languages like Rust, which were built with safety in mind right from the start. And this is where things start to get really, really heated. Because Simon, though, isn't just critiquing the technical side of things. They're also implying that, well, that some of the people pushing safety profiles might have ulterior motives.
Starting point is 00:23:19 Yeah, they actually suggest that folks like Sutter and Strauss-Stripp might be promoting safety profiles because it, well, because it benefits them somehow. Maybe even to stifle alternative solutions that might be, you know, more effective in the long run. Wow. I mean, that's a pretty serious accusation to throw around. No wonder the Reddit thread blew up. You've got people who wholeheartedly agree with Simon Hopfo. They're saying C++ needs to be more open to change, you know, and that safety profiles aren't the magic bullet that some people are making them out to be. But then, of course, you've got the other side, those who are fiercely defensive of C++ and see this whole thing as an attack on the language itself. For sure. Some people are
Starting point is 00:24:00 accusing Simo of being disrespectful, unprofessional even, you know, especially when it comes to how they talk about Herb Sutter and Bjorni Stroustrup. Oh, right. The rust derangement syndrome thing. You see that pop up anytime someone criticizes C++ and then praises rust in the same breath. Oh, yeah. It's a classic. Like you can't possibly like both. Well, it's not that simple, is it? I mean, there's room for both languages. They both have their strengths and weaknesses. And this is about more than just C++ versus Rust anyway. It's about the culture of the C++ community, the power dynamics within the standards committee, you know, the whole ethical dimension of it all.
Starting point is 00:24:36 You're absolutely right. And that's what makes this whole discussion so fascinating. It's a window into the human side of software development. All the drama and politics and, you know, everything that goes on behind the scenes. And Simon Doe doesn't shy away from naming names and pointing to specific incidents that they think illustrate these problems. Yeah, like the story about Yarnr Strauss storming out of a committee meeting because he didn't get his way. So Maranduo uses this to paint a picture of a committee that's resistant to change, you know, dominated by a few powerful figures. And then there's the whole
Starting point is 00:25:11 controversy surrounding Arthur O'Dwyer, a C++ speaker and committee member who, well, he's a convicted sex offender. Right. And Simon Carono argues that allowing O'Dwyer to remain active in the community sends a really dangerous message. They say it raises serious questions about the committee's priorities. They even claim that there have been attempts to silence discussion about O'Dwyer's conviction. Wow, that's a lot to unpack. It adds another layer of complexity to this whole debate. It definitely does. And for Simon Carono, it's just one more piece of evidence that the C++ community isn't really serious about safety and reform. So what we have here is a very strongly worded blog post that's clearly struck a nerve.
Starting point is 00:25:52 And the Reddit discussion is like a microcosm of all the tension and anxiety surrounding the future of C++. You've got those who believe that C++ can adapt and evolve to meet these new demands for safety and security. And then you have others who think, you know, that C++ can adapt and evolve to meet these new demands for safety and security. And then you have others who think, you know, that C++ is fundamentally flawed, that its legacy is holding it back and the community is just too resistant to change. It's a really fascinating debate and one we're going to keep digging into. Now, let's jump into the Reddit thread itself and see what people are saying. All right. So let's take a look at these reactions. See what people are saying in the comments.
Starting point is 00:26:28 Because let's be real. A blog post like that going to get people talking. Oh, yeah. It's like a war zone in there. People arguing about everything, whether Simono is right, yeah, Simon's spot on. They agree that the committee is resistant to change and that safety profiles just aren't enough. Right. And you can really feel the frustration from those folks. Like they're tired of waiting for the language to catch up to the, you know, the demands of modern software development. Yeah. It's almost like they feel like they're not being heard, you know. But it's not all agreement, right? There's a whole bunch of people who, even if they share some of the same concerns, they really don't like the tone, the way Simon went about saying all this. Yeah, there's a lot of that, what do they call it, tone policing. People saying Simon, although it was too harsh, too disrespectful, especially towards, you know, legends like
Starting point is 00:27:24 Sutter and Straustrup. Well, yeah, I disrespectful, especially towards legends like Sutter and Strausdrup. Well, yeah, I mean, you can't just go around dissing C++ royalty like that and expect everyone to be cool with it. It's interesting, though, because some of the most thoughtful comments are coming from people who are actually on the C++ committee. Like Neil Douglas, he's been pretty vocal about the committee's, let's say, shortcomings. Right. And Douglas actually kind of backs up some of what I was saying. He talks about how the committee can get stuck in this, you know, this negative spiral, shooting down new ideas instead of, you know, actually trying to build something better.
Starting point is 00:27:59 Right. And that lack of engagement is something that Gabourey Sidibe brought up, too. They ended up leaving the committee because it was just, I don't know, too frustrating to deal with. And Sidibe's point is that the committee just isn't equipped to handle the really big, complex stuff. They're too focused on these tiny incremental changes. They're not willing to tackle the really fundamental problems that Simon Smith is talking about. So even within the committee itself, you've got people saying, hey, something's not right here. I mean, that kind of lends some credibility to Simon Sko's argument, doesn't it? Oh, for sure. It suggests it's not just, you know, one person complaining. There might be some real systemic issues here. And then, of course, you've got the O'Dwyer situation, which just throws everything into chaos. Yeah, it's a tough one. It's definitely causing a lot of pain and division
Starting point is 00:28:44 in the C++ community. You've got people trying to downplay it saying, you know, let's move on. It's in the past. And then others saying, absolutely not. This makes it even worse. It makes you wonder who the committee is actually serving, you know? Are they really prioritizing the safety and well-being of the entire C++ community? It's a good reminder that we can't just have these technical discussions in a vacuum. The ethical side of things matters just as much. A hundred percent. And it all comes back to this question of what does safe C++ even mean? Is it even possible? Because Simonow is saying it's not enough to just add on these extra features like safety profiles. They want to see a real change in the way people think about C++A, how they use it. Right. And they keep bringing up Rust as the example to follow.
Starting point is 00:29:40 They specifically talk about Rust's borrow checker. Okay. You might need to explain that one for me. What is this borrow checker thing and why does Simon Everwood think it's so important? Think of it like imagine you're lending someone a book, right? You wouldn't want them to accidentally tear out pages or spill coffee on it. Right. Well, hopefully not. Well, the borrow checker in Rust is kind of like a really, really strict librarian. It's got all these rules about how you can access data in your
Starting point is 00:30:05 code, you know, to prevent those kinds of mistakes that can lead to memory errors and security holes. So it's kind of like a built-in safety net. Exactly. And Simon Ferraio's argument is that C++ needs something like that if it wants to be truly safe. Of course, not everyone agrees. Yeah. I mean, I can see how trying to add something like that to C++ could be a nightmare. Of course, not everyone agrees. They say C++ is all about flexibility, you know, giving the programmer the power to do what they need to do and giving that up in the name of safety. Well, they see that as a huge mistake. So is this like an unresolvable conflict then? Can you really have safety and flexibility at the same time?
Starting point is 00:30:56 That's the million dollar question, right? And I don't think there's a simple yes or no answer. Maybe there's a middle ground somewhere, a way to make C++ safer without completely overhauling it and alienating, you know, all of the people who already use it. So we're seeing this tension play out in the Reddit discussion, right? You've got the purists who are like, C++ is perfect as it is. Don't touch it. And then you've got those who are like, wake up, people. The world's changing. Software needs to change with it, even if it means making some tough choices. And all of this is happening while the O'Dwyer thing is just hanging over everything. Yeah. Yeah. It's a messy situation. No easy answers there. But I think it
Starting point is 00:31:35 just highlights the point that, you know, we can't separate the technical stuff from the ethical stuff. It's all connected. It reminds us that software is built by people and the choices we make. Well, they have real world consequences. It feels us that software is built by people and the choices we make. Well, they have real world consequences. It feels like we've just scratched the surface here and we've already gone through so much. It's a big topic, isn't it? All these different layers, technical stuff, the social dynamics, the ethical questions. It's all tangled up together.
Starting point is 00:32:00 For sure. And, you know, I bet some people listening are thinking, well, this is all very interesting. But I don't write C++ Oaks, so what's it to me? But I think that misses the bigger picture. I agree. This is way bigger than just one language. It's about the future of software, period. And let's face it, software runs the world now. Pretty much, yeah. Our phones, our banks, the power grid, hospitals, you name it. It's all software. And that means the stakes are
Starting point is 00:32:25 incredibly high. If one little piece of code has a flaw, the consequences can be catastrophic. And that's why this whole safe C++ debate is so important. I mean, so much critical software is written in C++O. So if C++ isn't safe, those systems aren't safe either. Right. And we've seen it happen time and again. Data breaches, financial crashes, infrastructure failures. A lot of it goes back to software vulnerabilities. So this isn't just some abstract academic argument. It's about the security and reliability of the systems that we depend on every single day.
Starting point is 00:32:59 Exactly. This is something everyone should care about, not just programmers. We all rely on this stuff, whether we realize it or not. So is this it then? Is C++ doomed? Are we just stuck with these vulnerabilities as the cost of doing business? Well, that's the big question. And like we've been saying, there's no easy answer. Simon Sio and those who agree with them, they seem to be saying C++ is just too far gone, too complex, too resistant to change. They say we should just move on to other languages like Rust. Yeah, the start fresh approach. But then you've got people who are convinced that C++ can evolve. They point to things like the safety profiles as proof that the community is taking this seriously. They argue that C++ is strength is its power. It gives you so
Starting point is 00:33:43 much control as a developer. And trading that for safety, well, in their view, that's a huge loss. It's tough. I get both sides. Part of me wants to see the progress, you know? Move to newer tools, languages that are built for the problems we face today. Right.
Starting point is 00:34:01 But then there's this incredible amount of knowledge and experience around C++ wire. It feels wrong to just throw all that away. Yeah, there's a practical considerations to the cost of migrating all that code, training people on new languages. It's a huge undertaking. It's a mess, but at least we're talking about it. The fact that people are challenging the status quo, pushing for something better, that has to be a good thing. Absolutely. It means we're becoming more aware of the risks, more serious about building software that's not just functional, but safe and secure.
Starting point is 00:34:30 And I think that's the key takeaway for me. It's a call to action for everyone, not just developers. Think about the software you use. Demand better. Yeah. Push for higher standards because the future of software, it's not set in stone. It's something we all have a hand in creating through the choices we make, the tools we use. So that's something to think about. What kind of future do we want? One where software is a source of safety and stability or one where it's constantly putting us at risk? The choice is ours.
Starting point is 00:34:57 And that's about all the time we have for today. So until next time, stay curious and keep exploring.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.