C++ standard

What’s the stance on the language standard used across Daisy (C++14 currently)?
There are some nice quality of life improvements in C++17 and it is supported by ARM GCC toolchain.
Or is the intention to keep it as portable as possible and hence not necessarily switch to the latest version too soon?

Nothing to stop you using C++17 (or C#, Java, …). But as with VST, ALSA, Jack, Teensy, Akso, Arduino and almost every other audio capable programming system out there most people use a circa 2000 C++ style and probably don’t want to worry about newer C++ updates.

It’s not about myself, I am of course using whatever suits me in my projects.
But since I’m doing some additions to libDaisy and DaisySP I’d like to understand the constrains that make sense for the community.
C++14 requirement is already part of the Daisy build environment. As far as I remember there was a reason for it - some components failed to build.

Right now, the reason for C++14 over C++17 is that this is what STM32 Arduino core uses C++14, and DaisySP is more-or-less copied into our DaisyDuino repo. So the reason there is to make compatibility with Arduino easy.

That said, for libDaisy there is no reason to be restricted, and it could very well be updated to C++17. However, DaisySP would probably benefit from the newer features more than libDaisy would.

1 Like

Understood. I believe it’s easier to be consistent across everything, so let’s settle on C++14 for now.

1 Like

Agreed. If/when there’s a compelling argument to use a specific C++17 feature for something we can reassess.

Please no. It all started going wrong after 2003, and please remember lots of us use C99 which becomes an issue as more and more these C++ updates are no longer a true superset of C as originally intended.