Another viewpoint is this is a library and that library can be used by older applications. So being cutting edge on the complier on the library does not increase the adoption of Geode.
Agree with Alberto that users mailing lists should be consulted. Charlie From: Alberto Gomez <[email protected]> Date: Tuesday, May 4, 2021 at 11:29 AM To: [email protected] <[email protected]> Subject: Re: DISCUSSION: Geode Native C++ 17 adoption Hi, Here come my two cents. To me, upgrading to C++17 is a no brainer given that C++11 is quite old and C++17 has lots of new features, performance improvements and bug fixes. The only thing that could prevent us from doing so is having lots of users that are running the native client in a platform that does not have a C++17 compiler. Which leads me to the question: should we move this discussion to the user mailing list? Alberto ________________________________ From: Mario Salazar de Torres <[email protected]> Sent: Tuesday, May 4, 2021 7:45 PM To: [email protected] <[email protected]> Subject: Re: DISCUSSION: Geode Native C++ 17 adoption Hi everyone, Sorry for the previous email, I did send it before finishing it by mistake. Currently Geode Native uses C++11 standard. It has been quite some time since the standard was released and as of today the latest standard is C++20. As part of another discussion, some users in the community were wondering if it's the time to switch to C++17 in the Geode Native project. So, I am putting a list of pros and cons: Pros: * Several new features added: * C++14 features: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2F14%23New_language_features&data=04%7C01%7Ccblack%40vmware.com%7C99bf8329d4ed48682b2b08d90f2a8d9f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637557497738349382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=rs4Pc4zW6bo2oyoaAzPDLA4gUAzm2Q8%2FRNDgLw3YxsY%3D&reserved=0 * C++17 features: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2F17%23New_language_features&data=04%7C01%7Ccblack%40vmware.com%7C99bf8329d4ed48682b2b08d90f2a8d9f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637557497738349382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dFzhj5YgERe3wtVAAbH1BukTv7Q5bcNVJNWgfPQfMlY%3D&reserved=0 * Some of the interesting features are: * Function return type deduction. * Improved constexpr functions. * Variable templates. * Generic lambdas. * Lambda capture expressions. * [[deprecated]] * Shared mutexes/locks. * std::make_unique * Nested namespace definitions. * Structured bindings. * variant. * any. * optional. Cons: * Some users might have older compilers which does not implement all C++ 17 features. Thanks, Mario. ________________________________ From: Mario Salazar de Torres <[email protected]> Sent: Tuesday, May 4, 2021 7:34 PM To: [email protected] <[email protected]> Subject: DISCUSSION: Geode Native C++ 17 adoption Hi everyone, Currently Geode Native uses C++11 standard. It has been quite some time since the standard was released and as of today the latest standard is C++20. As part of another discussion, some users in the community were wondering if it's the time to switch to C++17 in the Geode Native project. So, I am putting a list of pros and cons: Pros: * Several new features added: * C++14 features: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2F14%23New_language_features&data=04%7C01%7Ccblack%40vmware.com%7C99bf8329d4ed48682b2b08d90f2a8d9f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637557497738359379%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=yeadKm2sq%2BZI3e382PQ3NlpLxyjfH0vCO7WEQyT2W%2FM%3D&reserved=0 * C++17 features: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2F17%23New_language_features&data=04%7C01%7Ccblack%40vmware.com%7C99bf8329d4ed48682b2b08d90f2a8d9f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637557497738359379%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=MaJ77vnuas3whxAzYCMxfFo5b2I5QJzNkSmT5iL%2FTmI%3D&reserved=0 * Some of the interesting features are: * Function return type deduction. * Improved constexpr functions. * Variable templates. - Generic lambdas. - Lambda capture expressions. - [[deprecated]] - Shared mutexes/locks. - std::make_unique C++17 - cppreference.com<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2F17%23New_language_features&data=04%7C01%7Ccblack%40vmware.com%7C99bf8329d4ed48682b2b08d90f2a8d9f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637557497738359379%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=MaJ77vnuas3whxAzYCMxfFo5b2I5QJzNkSmT5iL%2FTmI%3D&reserved=0> This page was last modified on 20 October 2020, at 04:39. This page has been accessed 106,431 times. Privacy policy; About cppreference.com; Disclaimers en.cppreference.com C++14 - cppreference.com<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2F14%23New_language_features&data=04%7C01%7Ccblack%40vmware.com%7C99bf8329d4ed48682b2b08d90f2a8d9f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637557497738359379%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=yeadKm2sq%2BZI3e382PQ3NlpLxyjfH0vCO7WEQyT2W%2FM%3D&reserved=0> New language features . variable templates; generic lambdas; lambda init-capture new/delete elision relaxed restrictions on constexpr functions; binary literals en.cppreference.com
