Is there any chances of having Modern C++ out of the box?


It seems that Arduino is stuck on C++97. C++ evolved a lot but for some reason Arduino and PlatformIO restricts everything to C++97. Is there any chance to be able to program in C++11 at least? Vectors and Templates are very useful but with C++97 there are no chances of using them!

It’s sad that we can’t use at least C++11…


Just my opinion but many devices that use the Arduino framework would be totally flattened by any vector work and the like.
If you want a more powerful platform for your programming (and therefore more ambitions applications) then you probably want to move up in terms of the capability of your hardware platform.

PlatformIO follows, in framework = arduino cases, what Arduino does. Hence eyou need to take it up with each and every one of the Arduino core developers (for Atmel AVR, STM32Duino, etc. etc.) in regards to defaulting to a more modern C++, not PlatformIO. Nevertheless,

PlatformIO always gives you the option to use a more recent compiler via specifying a newer compiler (platform_packages) from the registry or some other source, and adapt build_flags and build_unflags accordingly, much more easily than you would be able to do in the Arduino IDE.

And I agree with @AussieSusan, a lot of the C++ standard library does not make sense to run on small, restricted devices. That is, if you don’t want to run out of heap memory after 3 lines of code when you use the standard datastructures.