Is the implementation of C ++ 0x supposed to be?

The C ++ 0x standard is on its way to completion. So far I have been dealing with C ++, but I did not begin to study it completely, because it seems that it misses a lot of modern functions, which I messed up in other languages. However, I would be very interested in C ++ 0x, which affects many of my complaints. Any errors after the standard has been ratified, regarding how long it will take for major suppliers of compilers to ensure sufficiently complete implementations of product quality? Will it be soon enough to reverse the decline in popularity of C ++, or is it too little, too late? Do you think that C ++ 0x will become "C ++" in a few years, or do you think that most people adhere to an earlier standard in practice, and C ++ 0x will be something like a bastard-bastard, kind of like C99

+6
c ++ programming-languages language-design legacy
source share
5 answers

I see no reason why C ++ 0x should not be accepted. The C ++ community is much more promising than C. C has always been intended for the "portable assembler language", so the people who use it are actually not very interested in new attractive features. C ++ covers much wider, and I have not heard of a C ++ programmer who did not expect 0x. (It’s also my impression that the C ++ community is much more “strict” and really doesn’t want to move beyond the standard into undefined behavior, which implies that you are choosing C ++ 03 or C ++ 0X rather than a half-computed hybrid C programmers are generally much more relaxed in this regard and seem to enjoy using C89 with only a few C99 functions and headers)

However, Microsoft will be busy at least a few years earlier. Visual Studio 2010 will support a small part of C ++ 0x functions (lambdas, decltype and several others), but the vast majority will not be supported. We will have to wait for VS2012 or something else that ends in the next version in order to have some full support.

With GCC / g ++, the situation is much better, since most of the standard is already implemented (the standard committee does not like to use functions that have not been implemented and tested in the real compiler, and the GCC plug is often used for this)

But it will probably take some time to get stable and ready for production.

About C ++ "decline in popularity", I really do not see this. I do not think that C ++ has declined significantly in popularity in recent years. RAD developers, of course, have already jumped on the .NET, Python, or other languages ​​or platforms. But where C ++ is used today, there are not many viable alternatives, and there is no reason why it should decline in popularity.

+16
source share

I do not know about other manufacturers, but from what I am, Microsoft plans to include four C ++ 0x languages ​​in Visual C ++ 2010:

Although this is a small set of C ++ 0x functions, they are important. Some of them will allow programmers to write much more compact (cars, lambdas) and free code. Some (such as rvalue references) allow libraries to be more efficient. Microsoft loves lambdas as an enabler for parallel computing .

Only IMHO: auto will make it much easier to use templates that more programmers will do. And, hopefully, this will increase the demand for additional C ++ 0x features from Microsoft and all vendors.

Microsoft will also update its implementation of the C ++ standard library, but I don't know the details. I believe that they modify some container classes to take advantage of the semantics of rvalue reference value selection. And I believe that they include more TR1.

+3
source share

Some implementations are already on their way to C ++ 0x: ( gcc ). My intuition says that C ++ 0x support will be available in the main compilers quite quickly; however, there is a large set of legacy code that must be supported.

+2
source share

Newer versions of gcc already support many C ++ 0x functions: http://gcc.gnu.org/projects/cxx0x.html

+2
source share

This year, Microsoft will include support for C ++ 0x in Visual Studio 2010 (community preview is now available).

I don’t think it will become “C ++” soon, but some people will want to add parts of the new syntax where this makes sense in their code.

These days, I don’t do much C ++, but the people I communicate with or love it, or feel that the beauty of C ++ is in the control that they receive, and that if they want a language with all of these extra features, d use C # / Java.

0
source share

All Articles