Assumed Audience: C and C++ programmers.
Epistemic Status: Grateful and confident.
Dear Mr. Meneide:
My name is Gavin Howard. I am a C programmer, and I want to thank you for your post “Why Not Just Do Simple C++ RAII in C?”
I’m so grateful that you explained to people the biggest differences between C and C++. I’m so grateful that you explained why RAII is undesirable in portable C.
And I say this as someone that implemented a form of RAII in portable C!1
But even though I like RAII enough to implement it, I don’t want the C object model to change. Ever. And I don’t want name mangling.
So thank you for taking one for the team whenever you get a “C’mon, bro!” email.
Please keep guarding C’s stated merits and goals. I’m so glad that someone as stubborn as you is doing so; I’d fear for C otherwise.
And if you need anything, please feel free to contact me.
Gavin Howard
I implemented a stack-based allocator that knows about destructors, scopes, and functions, including macros to automatically clean up when returning from functions. It even knows about
setjmp
/longjmp
, so it has “exceptions” too! ↩︎