C++ in 2020
published at 30.01.2020 14:19 by Jens Weller
Now where the year is a few weeks old, lets see whats ahead for C++ in 2020!
I'll cover the Meeting C++ Community Survey, Conferences, Libraries & Releases, ISOCPP and C++20.
This blog post is based on a newsletter, which is based on a talk I gave at my User Group in Düsseldorf two weeks ago. Come and visit our meetings at the 3rd Wednesday of the month! My C++ User Group is also still looking for speakers in 2020, contact me if you're in town!
Meeting C++ Community Survey
The first truely new thing to happen in 2020 for C++, was the start of the Meeting C++ Community Survey in early January. Its a continous survey where you are able to answer 60+ Questions about the C++ Community. Which compilers, standards, tools, frameworks do you use?
More details in this news entry on the survey.
There are now too many conferences on C++ or with C++ tracks to fully cover this point. Its not like the past, when it was just a handful. Meeting C++ 2020 will be from the 12-14th November in Berlin! More details on this in April.
The (incomplete) list of Conferenes for C++ in 2020:
- March: embo++, ACCU, Conan Days
- April: Core Hard, Using std::cpp, C++ Russia
- May: C++Now, ADC++, Qt Worldsummit, Core C++
- June: Italian C++ Conference, C++ on Sea, CPPP
- August: NDC Techtown
- September: CppCon
- November: Meeting C++ 2020, code::dive
Fall will see more conferences then present in this list, but lots of them aren't announced yet.
Libraries & Releases
Lots of libraries and frameworks in use in C++ today, so kinda difficult to focus on which ones are important. From the Survey it seems that Qt and boost are in heavy use, so lets look at these first.
Boost had its last release in December, and likely will have its next in April. Too far ahead to really know whats in this one, and the last release did not bring new libraries to the boost community.
For Qt its a great year, as it will see not only the last version of the 5.x branch with 5.15 being released during/after the Qt Worldsummit, but also later in Fall the release of Qt 6. Qt 6 brings interesting changes to the Qt World, it is based on CMake as a build system and uses C++17 as its base standard! Qt has announced a few other changes in 2020 already, related to their support of open source versions and LTS support for commercial users.
There is lots of other libraries and frameworks which will keep adopting to newer standards. Qt moving to C++17 in Version 6 is a good sign, but lots of folks will stay on the 5.15 branch. One thing which might be come noteable in 2020 is C++11 beginning to become legacy. Most toolchains are on C++14 now or soon will be, and many fields have started moving faster. Already today the core community of C++ driving standardization and publishing of materials such as talks and blog posts mostly sees C++14 as the minimum viable standard.
The latest release as of today should be Poco 1.10.
The ISOCPP Committee meets this year 3 times, the meetings are
- 10-15th February - Prague sponsored by Avast and organised by Hana Dusíkova
- 1-6 June - Varna, Bulgaria
- 9-14 November - New York
So unfortunately the committee is again in parallel to Meeting C++. But european folks who don't want to miss out on Meeting C++ 2020 have the option to present in the meetings in Europe prior New York and/or find a coauthor that will be present in New York.
And last but not least, we'll have a new standard coming this year. C++20 is in its final phase of polishing, and likely will ship in late summer/early fall. This was the case with C++14, C++17 was even a bit later then this.
Meeting C++ 2019 opened with a keynote on chrono, and saw quite a few talks on C++20, even two overview talks. A talk on the Synchronization Library is online, the two talks on modules should follow soon. The talks on <=> and Concepts are online too.
A list of C++20s main features:
- Concepts With Standard Library Concepts
- constexpr support: new/delete, dynamic_cast, try/catch, virtual
- constexpr vector and string!
- chrono: calendar, time zone support
- Synchronization Library (jthread, semaphores)
Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!