Hacker News new | ask | show | jobs
by pjmlp 1698 days ago
That is the thing with ISO/ECMA languages, it has to work in every possible scenario there is a certified compiler, if not then as you know, we go down the path of nasal daemons.

For example, the Epoch semantics in xlCC would have to behave as in VC++, to avoid too many nasty surprises in cross platform code that is in production for decades.

1 comments

First, it seems weird to suggest that "nasal demons" are a particular fear of WG21 at this point. As a reminder when C++ got an Optional type std::optional the committee insisted that it have Undefined Behaviour if you for any reason don't check whether it is empty before using the contents.

We're not talking about 1998 here. This is in 2017. By this point plenty of people have experience already using languages with Optional types that do what you actually want here, but the C++ committee decided no, C++ is the footgun language, it's what we're known for.

But OK, in an alternate universe where the committee doesn't introduce footguns on purpose to prove their Real Programmer credibility, and where we do get Epochs, what should happen for fraught situations so as to deliver consistency?

The committee should decide on a rule. I know that's often portrayed as too difficult for such problems, but it won't get easier in subsequent versions. That's why I think it would have made sense to delay long awaited work like Concepts if that was the only way to land Epochs. Concepts is already too late for the main act and being a little later barely makes a difference. Whereas Epochs gets harder to do every version, so the sooner the better.