📜 ⬆️ ⬇️

Results of 2015 for C ++

Perhaps I will say a banal thing, but the past year was a good year for C ++!

Just the facts:


And now about this and another little more

')

Support Status C ++ 11


The Clang, GCC and Intel Compiler compilers have full C ++ 11 support.
Visual Studio lacks two things: Expression SFINAE - N2634 and C99 preprocessor - N1653

C ++ Support Status


Clang and GCC fully support C ++ 14. But in general, things are like this:


Changes since last year are marked with an asterisk (*)

In Visual Studio 2015, the C ++ compiler became noticeably closer to full compliance with the standard, the Sized deallocation attribute, the [[deprecated]] attribute and the single quote support as a separator for numbers in numbers were implemented.

The Intel compiler showed good progress - they added support for generic lambda functions, initialization of class members (including aggregate), plus all the same [[deprecated]] attribute and support for single quotes as a separator of digits in numbers.

Support Status C ++ 17


Obviously, most of us are waiting for this grand event that is about to happen: standardization C ++ 17! Yes, compilers still need to work on support for C ++ 11/14, but most features are already implemented or are in the final stages of implementation. The development teams of all major compilers are already actively experimenting with some new features of the future standard C ++ 17.

But what does C ++ 17 include?
For a complete understanding of the subject, it would be best to read " Thoughts on C ++ 17 " from Stroustrup. He identified three main priorities:
  1. Improve scaling support for large projects
  2. Add high-level parallelism support
  3. Make language core easier, improve STL


In addition, C ++ 17 is scheduled to be a major release of the language, i.e. in addition to minor updates, we will get something bigger:



Here is an excellent overview of all the potential features of C ++ 17.
Those features that do not have time to enter C ++ 17 will enter the next C ++ 20 standard, which is planned as a minor one. C ++ 20 polishes C ++ 17, as C ++ 14 polished C ++ 11.

Core Guidelines


At the CppCon conference in a keynote presentation, Bjorn Stroustrup made an important announcement: Core Guidelines!

The full version of the guidelines is on GitHub , here's an excerpt from the introduction:

“C ++ Core Guidelines are the result of the joint work of a group of authors under the leadership of Bjorn Straustrup, as well as the C ++ language itself. The development of these recommendations has invested many man-years of work of people from a variety of organizations. The design of these guidelines implies their general application and wide distribution, which, however, does not exclude your right to copy and modify them for the needs of your organization.

The purpose of developing these instructions is to help people use modern C ++ effectively. By “modern C ++” we mean C ++ 11 and C ++ 14 (and soon C ++ 17). We will help you to imagine how your code that you will start writing today will look like in 5 (or 10) years. ”

As the language becomes richer, more modern (but at the same time easier) it will be very useful to have such a reference book. Some well-known rules have been replaced by new approaches — for example, RAII. Switching to them is not so simple, especially if you support the old code base and want to add something modern to your code. Core Guidelines are developed collectively, which means they should be a fairly practical tool.

Björn Straustrup's speech:


Addition to her from Herb Sutter:


C ++ Standardization


Last year, there were two meetings of the C ++ Standardization Committee: Cohn in October and Lenex in April.

A few words about the spring meeting:


And about the autumn:


The following meetings of the Standardization Committee in 2016 are scheduled: in Florida in February and in Finland in June (at this meeting, voting is planned for the C ++ 17 standard).

Compiler world news


Visual studio



Gcc



Clang



Intel compiler



Conferences


Two important conferences took place last year: CppCon and MettingCpp

Cppcon



Meetingcpp



First report:


and second:


Conclusion


As we can see, the C ++ Standardization Committee is making serious efforts to work on the C ++ standard 17. By the end of the year, we can count on the adoption of a draft of this standard. Developers feel the new atmosphere of change and this is reflected in the popularity ratings of the language (in Tiobe Rank C ++ gained 8% ). The term "Renaissance C ++" is no longer a myth ...

What is even better, we have a lot of experimental features in compilers. We can already experiment with modules, concepts, korutinami ... This, of course, is not yet safe and can not be applied in production code, but in terms of training and testing is very interesting. In addition, it gives the opportunity to get some feedback, which can affect the final specification of all these things.

The VisualStudio development team is becoming much more open, this is noticeable since VS2015. You not only can create multiplatform applications, but also very quickly receive updates with new interesting features.

All compilers support C ++ 11/14 at a fairly good level, so there are no more excuses not to switch to using these standards. With Core Guidelines, this task becomes even easier.

Sad news
Just a couple of hours ago, Scott Myers published a farewell article to the world of C ++. Talk on reddit

What do you think?


Well, the polls.

Source: https://habr.com/ru/post/274549/


All Articles