language dialects? (applies to C++)

Hey guys I was looking on the wikipedia article on C++ and it had three of what it called "dialects" of C++. The three were SO/IEC C++ 1998, ISO/IEC C++ 2003, ISO/IEC C++ 2011. (dates are when they were created) How can there be dialects of a programming language. I'm very familiar with dialects of a human language (such as English) but a programming language? Can you guys make sense out of this?
These are all different standards.

Just like the English language evolves, so does the C++ language. There may be some shortcuts (such as using auto in a for loop) which are really useful and were never implemented in earlier standards.

There are also additions to the std:: library. If you go to this link http://cplusplus.com/reference/stl/ look for the C++11 icon on the left. This represents features that are in the standard library for C++11 but not in C++03.

You just need to know which standard your compile follows. There is not a lot of support yet for C++11, but it is growing.

This page is pretty good at explaining the differences between C++03 and C++11. http://en.wikipedia.org/wiki/C%2B%2B11
Last edited on
Oh ok cool so the additions that were made in C++11 are new libraries and commands? Do you know if Microsoft's VC++ supports C++11? Also you how C++ inherited everything C had, well does C# relate to C++ or C in any way?
No compiler has full C++11 support yet. VC++ supports some of it.

C also evolves so some parts of the latest C "dialect" is not in C++. C# is a completely new language. It is inspired by C++ and many other languages.
On the subject of the relationship between C and C++, I think this guy can answer better than me!

http://www2.research.att.com/~bs/bs_faq.html#C-is-subset

Regarding Visual C++:
- up to Visual Studio 2008 -- no support
- Visual Studio 2010 -- support for the "core features" of C++0x (as was finalized as C++11) [1]
- Visual Studio 11 -- support for more features (but nowhere near as many as GCC) [2][3]

[1] http://msdn.microsoft.com/en-us/magazine/ee336130.aspx
[2] http://msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx
[3] http://wiki.apache.org/stdcxx/C++0xCompilerSupport


Last edited on
Unfortunatly VC++ does not consider implementing C++11 as its high priority compared to others c++ compilers like gcc or clang.
Here you have a list of c++11 features by compiler:
http://wiki.apache.org/stdcxx/C++0xCompilerSupport
Unfortunatly VC++ does not consider implementing C++11 as its high priority compared to others c++ compilers like gcc or clang.


Very true. I remember reading somewhere they only had a single person working on their STL implementation. By the time Visual Studios C++11 support is completed we probably have TARDIS's which we could use to bring Visual Studio with C++11 support to our time, thus eliminating our original motivation to go back in time...)
I have read Bjarn Stroustrup's draft of C++11 and he said that some people in comitee fear that C++ may have dialects in the future.
That wiki infobox is misleading. These are not dialects, these are revisions.

The C++ programming language is defined by the 2011 international standard. The 2003 and the 1998 revisions are obsolete.
Thanks for the info guys. Just one more question does MSVC 2011 support all the features shown on here?

@hanst99
I hope not.
Last edited on
Hey I found this which is a list of bugs with gcc. http://gcc.gnu.org/bugs/#known Is msvc less buggy than gcc? btw their site isn't that user friendly. I know as programmers we shouldn't care about that, but I gotta say that consider un-user-friendly their site is, I can't imagine how un-user-friendly their compiler is.
Last edited on
@science
I'm using VC++ compiler since 2006 and until now never has serious problems with it, so no, my opintion is that VC++ compiler is not buggy at all :D
I haven't had any bugs with GCC or VC++.
ok thanks and does VC++ 2010 understand the C++11 features shown on here? (this site)
Some. I'd just go to MSDN and do a search and they probably have a list of the features they support.
> does VC++ 2010 understand the C++11 features shown on here?

http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx

- No variadic templates, no noexcept, no utf support.
+ AFAIK, the best of the lot for C++11 concurrency

Visual studio 11 beta(v110) supports much more C++11 stuff then msvc10.0.
Also VS11 has integrated windows SDK and DirectX All in one, so that is the best option you can have.
> so that is the best option you can have.

That is a matter of opinion.

It is probably the best option for people who solely target the Microsoft platform.
Topic archived. No new replies allowed.