C++ in 2017
The year is a few weeks old, so a quick installment on whats in it for C++ in this annual rotation around the sun...
... in 2016, the biggest surprise was probably for many whats NOT in C++17, followed by what made it into C++17.
Lets say that is the low hanging fruit for predictions. Its clear that the new standard will play a huge role in anything C++ related. As long as you deal with the future of C++ and standard C++. A core difference to previous standards is, that now actually the implementers are ahead of the committee, you can play with all or almost all features of C++17 already in different compilers. And C++17 is not yet an official standard. This probably will happen in the second half of this year, for 2014 it was in August of 2014.
This has been already visibile in the last years, more and more content for C++ it self is available on the web. As I post (almost) everyday the links to the newest blogposts and videos, I start to notice how many different and great new blogs for C++ do appear. For 2016 the average was 4 posts per day on Meeting C++, this year is already above this. So expect new blogs, videos and maybe even podcasts? We'll see.
I hope to see more libraries that are shifting to a minimum of C++14, but for many its going to stay or become C++11. Like Qt, botan, cryptopp, ...
How is going to be C++17 integrated in these legacy frameworks? Experience with the previous standards was that this is often handled with defines, activating a certain feature only available in a recent standard, or even hiding new features or keyword through this (see things like Q_DECL_OVERRIDE, Q_DECL_CONSTEXPR).
Keeping these fundamental building blocks of our applications build with C++ up to the newest standards is going more and more important. Refactoring features are already supporting some, but I expect that this is going to become a focus of IDE features for the coming years. Clang tidy can already do lots of magic for your own code base.
Well, its up to the ISO when we'll be able to celebrate the official release of a new C++ standard. Like last year, the committee will meet 3 times this year, plus various smaller meetings of various subgroups:
- 2017-02-27 to 03-04: Kona, HI, USA (agenda); INCITS, Standard C++ Foundation, Plum Hall
- 2017-07-10 to 15: Toronto, Canada; University of Toronto, Google, CodePlay, IBM
- 2017-11-06 to 11: Albuquerque, NM, USA; INCITS, Sandia National Laboratories
Also, there are various conferences you can visit this year on C++:
- emBO++ (18.02)
- C++ Russia (24-25.02)
- ACCU (26.-29.04)
- ADC (~16.5)
- NDC Oslo (June)
- C++ Siberia (August)
- CppCon (September)
- Qt World Summit (October)
- Meeting C++ 2017 (9-11.11)
- Audio Developers Conference (November?)
- code::dive (November)
- using std::cpp (November?)
These are those of which I'm currently aware, might be that one or two are missing. There is a new one planned for New Zealand. Details on this years Meeting C++ conference will be available by April.
There are every year more User Groups, which is a large trend of last year. I expect this to continue, the newest User Group I know of is in Montreal. Europe still being one of the hot spots for active user groups. Reviewing the activity for the last Meeting C++ conference, I could see that very few had become inactive. And a trend seems to be that User Groups keep forking of into close by cities. Here is a list and more information on starting a User Group.
I'm still working on the CMS, so the next big change should be the new website, which is going to be the focus of my own work in February. Followed by some work behind the scenes not so much visible to the outside. This years conference will be the greatest, longest, best Meeting C++ conference ever. So, basically like in the last years ;)
Meeting C++ is also in 2016 my main job, that I do every day.