Should go without saying but… this post is a pamphlet. It’s only intended to make you smile.
Every time I see people complaining on social media about the C++ standard committee not doing this or that I remember the famous scene from the movie Live of Brian when the Jews debate the benefits of the Roman occupation. However, put into the C++ world, the scene would be as follows:
REG: They’ve bled us white, the bastards. They’ve taken everything we had, and not just from us, from our fathers, and from our fathers’ fathers.
LORETTA: And from our fathers’ fathers’ fathers.
LORETTA: And from our fathers’ fathers’ fathers’ fathers.
REG: Yeah. All right, Stan. Don’t labour the point. And what have they ever given us in return?!
REG: Oh. Yeah, yeah. They did give us that. Uh, that’s true. Yeah.
COMMANDO #3: And concepts.
LORETTA: Oh, yeah, concepts, Reg. Remember what the templates used to be like?
REG: Yeah. All right. I’ll grant you, modules and concepts are two things that the standard committee has done.
MATTHIAS: And lambda expressions.
REG: Well, yeah. Obviously lambda expressions. I mean, lambda expressions go without saying, don’t they? But apart from modules, concepts, and lambda expressions–
COMMANDO: Variadic templates.
COMMANDOS: Huh? Heh? Huh…
COMMANDO #2: And move semantics.
REG: Yeah, yeah. All right. Fair enough.
COMMANDO #1: constexpr.
COMMANDOS: Oh, yes. Yeah…
FRANCIS: Yeah. Yeah, that’s something we’d really miss, Reg, if the standard committee left. Huh.
COMMANDO: Type inference.
LORETTA: And it’s safe to use pointers now, Reg.
COMMANDOS: Hehh, heh. Heh heh heh heh heh heh heh.
REG: All right, but apart from modules, concepts, lambda expressions, variadic templates, move semantics, type inference, constexpr, and smart pointers what has the standard committee ever done for us?
XERXES: Brought uniform initialization.
REG: Oh. initialization? Shut up!
If you’re not familiar with the scene, here is the original: