Jump to content

C++0x: The future of C++

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
16 replies to this topic

#1
monkey_instinct

monkey_instinct

    Learning Programmer

  • Members
  • PipPipPip
  • 88 posts
C++0x is the codename for the new standard for C++. It will bring a lot of improvements to the language, including some cool new libraries. They will be adding some of the libraries from Boost, which have a lot of useful things like Regular Expressions, threading, better string handling and more. Of course there are other improvements like adding some new constructs to aid the programmer on generic programming (you know, templates and stuff like that). You can check out all the new features that will be added on the Wikipedia article for C++0x. What I'm more interested in on the Boost libraries. I have used them before for regular expressions and string handling, but they have a lot more useful libraries. Spirit is one of those libraries that leave like this -> :eek: . It uses extended Backus–Naur forms (EBNF) to create parsers using C++ syntax!! Super Extra Geeky Stuff!! Anyway, check it out 'cause if your serious about C++, this new standard will be the bleeding edge tech on 2009 (C++09).

Note: Why do I posted this here? Well, I want to know what are your reactions about it.

#2
Abda92

Abda92

    Newbie

  • Members
  • Pip
  • 5 posts
Boooy am I excited. I was just thinking the other day when a new language would come out that would just beat them all, but a new C++ standard is coming out? Ya man I'm really looking forward to that.

#3
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
The biggest question in my mind is: how long will it take the compiler makers to implement the new changes? With Boost providing many libraries, it will help speed up implementation, but I can still see it taking a while.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#4
G_Morgan

G_Morgan

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 537 posts

WingedPanther said:

The biggest question in my mind is: how long will it take the compiler makers to implement the new changes? With Boost providing many libraries, it will help speed up implementation, but I can still see it taking a while.

Bjarne Stroustrup said in a lecture that he thinks support will be very quick. In fact he thinks there will be support at the moment the standard is finalised. Often this sort of thing just takes what has already been done and standardises it. Then there's the fact that we will see experimental branches of GCC that follow the in's and out's of the new standard. Of course support is different to good support.

It shouldn't really be compared to say C99 which is basically a host of unpopular additions to a popular language.

The thing I'm most interested in is the argument about whether there will be garbage collection. I've heard conflicting reports on this but in the lecture I saw Bjarne stated he believed that there would be GC support in the new standard.

Other than that some obvious areas of pain are being cleared up like the ability to use initialisation lists with custom types as well as built in types.

The libraries I'm less interested in. Issues for outside of the language definition.

#5
v0id

v0id

    Retired

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 2,936 posts
GCC has been working on implementing all the new drafts for the C++0x since the process started. Here's a link about it.

#6
kia

kia

    Newbie

  • Members
  • PipPip
  • 24 posts
hi nice and intersting info but could u plz explain me about boost cause it is my first time to about it
thnx

#7
G_Morgan

G_Morgan

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 537 posts
Boost is a 3rd party collection of libraries designed to provide common ways to extend C++. Basically some of the Boost libraries will be moving from 3rd party status to becoming part of the new C++ standard.

This is quite common in C++, for popular 3rd party libraries to be added to the standard.

Boost C++ Libraries - Wikipedia, the free encyclopedia

#8
monkey_instinct

monkey_instinct

    Learning Programmer

  • Members
  • PipPipPip
  • 88 posts

Quote

The thing I'm most interested in is the argument about whether there will be garbage collection.

Bjarne said it will be support for ease the implementation of garbage collection systems. So, the new C++ standard will not feature garbage collection but problably a few 3rd party will provide it quickly.

#9
kia

kia

    Newbie

  • Members
  • PipPip
  • 24 posts
garbage collection? what is it benetit of?

#10
monkey_instinct

monkey_instinct

    Learning Programmer

  • Members
  • PipPipPip
  • 88 posts
Garbage collection is a system that handles the allocated data for you. In other words, it deletes pointers that are no longer referenced by your program. That, precisely, is the benefit of garbage collection. To put it in code you'll no longer have to do this:

[HIGHLIGHT="C++"]
delete myPointer;
[/HIGHLIGHT]

or this:

[HIGHLIGHT="C++"]
delete [] myArrayPointer;
[/HIGHLIGHT]

#11
kia

kia

    Newbie

  • Members
  • PipPip
  • 24 posts
thnx i see, we started the chap about pointers but just the basic.
classes and delete i mean the DYNAMIC variable of pointer r new for me we didnt study them yet.

but give the premision to ask u is it important to me to know about C++0X cause actualy i check the link u gave us about and im reading it but it seem that i cant understand anything from it.

thnx 4 ur replay :).

#12
G_Morgan

G_Morgan

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 537 posts

monkey_instinct said:

Bjarne said it will be support for ease the implementation of garbage collection systems. So, the new C++ standard will not feature garbage collection but problably a few 3rd party will provide it quickly.

I suppose my main concern is, will there be a consistent ABI/API for GC? Will I be able to turn on GC and get instant support for it, even for libraries that are not explicitly designed for GC?

It should be possible for a library to support both GC and manual collection without extra effort. The problem right now is that current libraries do not support GC as standard because you have to use a different API for GC. If you cannot do this then C++ hasn't improved at all on the GC front, I can hack a collector in now but unless I can take all third party libraries and throw allocated memory over my shoulder with impunity then you don't really have GC support.