Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think I partly agree with you.

Because of Hyrum's Law people will end up depending on everything but in practice if you stabilize everything as C++ attempts to that's a disaster too, just a different and more insidious one. The amount of lost performance is small (Titus Winters estimated perhaps 1% in 2019) but it grows slowly and forever. However the missed opportunities to fix bugs are an incalculable loss. The reason something as basic as sorting isn't very good is sorting code which was passable in 1998 is grandfathered in as a must-not-change Hyrum's law stable ABI. The state of the art changed, the provided baseline stayed where it was.

You need to properly set expectations, and part of that is design by avoiding mirages of stability. If X isn't promised, don't leave it to chance whether your users think they're promised X, make it as obvious as possible that you can't have X. Don't just accept that "Life, uh, finds a way". We're active agents, we can do better.

When Clang's libc++ tried to fix sorting they had to roll it back due to breaking real software. When Rust changed their sort implementations most people didn't even notice, maybe a few said "Ooh, my program is faster, I guess the new compiler optimised it better?". That's about correctly setting expectations.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: