Sign in to follow this  
Sagar_Indurkhya

Next Gen C++ Standards and Libraries

Recommended Posts

I was reading C/C++ Users Journal and came across an article by Bjarne Stroustrup about the next C++ Standard Revision thing. He talked about how he doesn't want to modify the language too much, but want to radically improve the libraries. I also read an article in Dr. Dobbs Journal by some guy on the ISO Standards Committee(colleague of Bjarne Stroustrup), which basically said the same thing. They seem to getting ready to put in a lot of the stuff found in the Boost libraries. Also, they said that they want to start implementing things like image loading, HTML parsing, and possible... dare I say it, a Standard GUI(though they admit this is very improbable). I am very eager to see how this turns out, since it seems that they want to make the standard libraries more competitive with .NET and Java's libraries. If they did manage to get a standard gui, there would be some serious commotion over night. I just want to hear what you guys here at Gamedev have to say about this. Cheers - Sagar

Share this post


Link to post
Share on other sites
technomancer    199
yep the C++0x standard looks nice, i really like the new template generic stuff


template<Value_type T> class vector {
// ...
void push_back(const T&); //Just the declaration
// ...
};







thats really nice also the template initializer list is nice too


Vector<double> v = { 1.2, 2.3, 3.4 };







is much nicer than


vector<double> v;
v.push_back(1.2);
v.push_back(2.3);
v.push_back(3.4);







I hope that somebody does come up with a standard template GUI widget implementation but like you said it doesn't seem likely within the timeframe of getting c++0x (i.e. this decade :) ) out the door.

Share this post


Link to post
Share on other sites
snk_kid    1312
Quote:
Original post by Sagar_Indurkhya
I am very eager to see how this turns out


Some of this is already in current review, in library technical report 1 (TR1) and these components are in namespace std::tr1, a thew compilers already implement some/most of TR1 for example GCC 4.* series, Comeau etc.

You can find out what is in std::tr1 here

I'm assuming that there will be one more language & library technical report (TR2) before the next standard revision say in 07/08.

Quote:
Original post by Sagar_Indurkhya
since it seems that they want to make the standard libraries more competitive with .NET and Java's libraries. If they did manage to get a standard gui, there would be some serious commotion over night.


It has very little to nothing to do with competitivity.

Also as much as people would like it, by the time a standardized GUI framework for C++ comes if ever, are children's children's children's children will get to play with it not us.

Share this post


Link to post
Share on other sites
OrangyTang    1298
I seriously doubt C++ would ever get a GUI library included as part of the standard. For one thing its far too platform specific(*), for another GUI development is rapidly shifting towards RAD(er) languages like Java and C#.


(*) Yes, I realise its possible to have a platform independant GUI. However non-native GUIs tend to look odd as they are different from all other apps (see: Java Swing). Those that use native widgets almost always have a ton of gotchas or platform specific things to worry about. Unlike other things like XML parsing etc. where other than endian issues its all just pushing the same bytes around.

Share this post


Link to post
Share on other sites
One thing that would be very nice for standardized gui's would be to take the linux approach, and distribute source for everything. However, instead of open source code, they could encrypte the source, so people can't steal it. Then, every computer would have a C++ Standards Compliant(at least 95% or something) compiler. The source would come with a program that would work with the compiler in private. Think about it! You could have optimized programs for your specific system. And since each OS would have there own implementation of the library, they would tailor it to look like they want.

Share this post


Link to post
Share on other sites
snk_kid    1312
Quote:
Original post by Sagar_Indurkhya
One thing that would be very nice for standardized gui's would be to take the linux approach, and distribute source for everything. However, instead of open source code, they could encrypte the source, so people can't steal it. Then, every computer would have a C++ Standards Compliant(at least 95% or something) compiler. The source would come with a program that would work with the compiler in private. Think about it! You could have optimized programs for your specific system. And since each OS would have there own implementation of the library, they would tailor it to look like they want.


The encryption thing would never work out, well thats what i think.

In anycase about optimizations, don't you think implementations of the standard library already do that, well i can tell they do and with-out the need to encrypt source code (GCC compiler).

Take for example the standard C++ I/O Streams & Locale library, how would you think it would be implementated, its not going to magically exist out of thin air.

Share this post


Link to post
Share on other sites
snk_kid    1312
Quote:
Original post by technomancer
yep the C++0x standard looks nice, i really like the new template generic stuff

*** Source Snippet Removed ***

thats really nice also the template initializer list is nice too

*** Source Snippet Removed ***

is much nicer than

*** Source Snippet Removed ***


Well that may or may not happen, C++0x isn't finalized, std::tr1 is still in current review.

For the time being you could settle for using boost's assignment library e.g.:


vector<int> v;
v += 1,2,3,4,5,6,7,8,9;


Yes its obscure so i only recommend it as a party trick [wink]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this