C++17 – better than you might think
There is one real problem with "modern" C++ that I would have hoped they would focus on: Compile times.<p>All the new stuff is heavily template based. As more libraries are written in that style, compile times go through the roof.<p>I wrote some code recently that required high precision monetary calculations. So I used boost multiprecision. It turned out to be completely impossible as most compilation units ended up depending on that library directly or indirectly.<p>Already slow compiles became unbearably slow. Facing a tight deadline I quickly wrote an extremely ugly, slow, error prone, pimpl based wrapper around boost multiprecision. Many calculations now require dynamic memory allocation for no good reason.<p>This is just terrible, because I know I can't leave it like this. I'm going to have redesign the whole thing or look for other libraries or look a lot more deeply into the calculations to see if they really cannot be done with large integers.<p>It's a productivity disaster. You could say I made wrong choices, which is true, but I think the C++ standards committee has been making wrong choices in not prioritizing a fix for compile times (modules?).<p>What's the point of having nice new features if you end up spending half your time on carefully cordoning off any code that uses them?