C++ needs more things to be removed, not added.
Simplicity is great to have, but it's super hard to claw back. The committee seems to have been trying to remove old deprecated stuff, but it's really hard when you know you'll be breaking someone's code.
Make it so -> and the . do the same thing.
Yeah this one is annoying. Doesn't help that Visual Studio always seems to auto-correct from the right one to the wrong one too ;). Maybe I'm just unlucky with that.
support C99 designated initializers
Yeah this would be great. Thinking of things C has that C++ doesn't, how about a standardised restrict keyword for C++?
The 2 features discussed for C++17 I think will impact the language the most are concepts and modules.
Yeah these will definitely be big changes, although sadly neither seems to have made it into C++17. I think VC++ 2017 has some modules support though, and GCC 6 has some concepts support, so maybe we'll be able to start using them in practise before they get officially welcomed into the standard.
Something like Standard ML/OCaml with .NET style generics
I don't have any experience with either of these. Could you tell me what kind of things they offer? In the context of C++, are they something that the template system could be extended to do, or are they completely different?
So here's another aspect of this I think is interesting. What are your thoughts on small vs large changes to the language? For example, C++11 introduced some pretty massive changes, whilst C++17 feels a lot more like a "quality of life" update. Personally, I quite appreciate the small bits of syntactic sugar that have been added (e.g. pattern matching, optional etc.) which just make everyday programming a little more pleasant. On the other hand, these things could just be seen as adding complexity to the language, and as procrastinating whilst not dealing with the larger issues. What are your thoughts?
Also is anyone else following the work of SG14
? Any thoughts on any of their proposals like flat containers, colonies, likely/unlikely, lightweight exceptions etc.?