C++ in 2018

published at 09.02.2018 17:44 by Jens Weller

Its time to have a look, what one can expect form the best programming language of the world in 2018...

... also what came true from last year? You decide!

C++17!

So, last year we got a new standard, which should see some adoption in this year. Adoption mostly in people exploring the new possibilities, but one can expect full C++17 support in both Clang and GCC in 2018. Already 2017 had its good share in C++17 centered talks and blog posts, showing where C++ heads in its 2018 edition.

Performance

This is not a prediction, this is a fact that comes from, well 2018. Lets say the year didn't start to pretty for us IT folks with Meltdown and Spectre. The implication is, that the patched systems will often experience a downgrade in performance. For C++ that is good, because it is very performance centric, it is less hit by the system wide downgrade, as other languages with a larger runtime overhead. So the free lunch is not only over, this year brought a new "performance tax". On the other hand, for the already very well fine tuned systems, this can mean that this year brings some extra work for C++ coders, where code needs to be refactored to the new realities. But over all, its good for C++, when performance gets a bit more attention.

C++20

I'll wait for concrete predictions until next year ;). But for this year, we'll see with the committee meetings where this standard goes in its details. Concepts is already merged into the C++20 draft, but right now its compiler support is rather bleak. Lets hope this changes this year, a better feature support for the next standard in many compilers is to be expected. In the last week the TS for Modules has been published, so that this very much anticipated feature is well on its way. Will the committee focus on this TS to move it forward to become part of the C++20 standard? We'll see this in this very year. Not to say that there is a lot of features that everyone also would like to have in C++20, like coroutines, better concurrency and maybe ranges?

Committee Meetings

The committee meets again 3 times this year:

Also, welcome back to Europe C++ Committee! 2017 did not feature any committee meetings outside of North America...

C++ Content

There is a trend to video in the content area, as more and more C++ User Groups film their talks. Also Meeting C++ will continue to release a few C++ videos outside the conference videos, which started in 2017. Also, the trend in more content shared through Meeting C++ continues, posts per day is for 2018 already at 5.85, while it was ~5 for 2017, and ~4 for 2016. While C++ has the best podcast with CppCast, its also sadly the only one.

C++ Libraries & Tools

There is some evolution in the library & tools section of C++. This year will continue, what started in 2017: bincrafters, r/cpp_review and boost moving to CMake. So I expect this to continue. There will be more on r/cpp_review with in this month at Meeting C++. Regarding boost, with adding beast last year, and outcome just now, one can see that lots of new and exciting features should be in boost in 2018!

Also other C++ frameworks will have important releases and add features, Qt just added text to speech. And Godot was just released in version 3.0, a very exciting release.

Conferences!

There is a trend toward more conferences for C++, but currently this is mostly true for Europe. I expect this to catch on to other regions though.

For Meeting C++, the ticketshop and call for papers will open in the beginning of April, the conference is from the 15 - 17th November in Berlin. It will be like last year 3 days full of C++!

An incomplete list of C++ conferences:

Meeting C++

There are some changes coming to Meeting C++, I want to focus more on becoming a platform for the C++ community, and also offer services to companies and the community. One of them is already live, you can post your own jobs now easily at Meeting C++. By next week I'll launch an employer listing, which will be visible in the jobs section of Meeting C++. Meeting C++ recruiting will also return, and expect a few other announcements within this year!

The CMS is functional now, but also will be a focus of my work in this year, there is much todo to get things into a better working state, I'll have to redo some features that have not proven to be too production ready. Also I'll hope to give talks at C++Now and CppCon, release more C++ Videos and do some blogging on the way...