Algorithms + Data Structures = Programs - Episode 211: Power, Politics and Misconduct in C++ ✨
Episode Date: December 6, 2024In 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)
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.
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
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.
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,
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.
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.
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.
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
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?
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.
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.
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.
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
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
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.
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?
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?
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.
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
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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,
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.
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?
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.
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.
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
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.
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
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.
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?
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.
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.
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.
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,
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.
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
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.
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
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.
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.
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
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.
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
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.
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
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?
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
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.
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
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.
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
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.
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.
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.
And that's about all the time we have for today.
So until next time, stay curious and keep exploring.