Finally a standard GUI library!

closed account (jvqpDjzh)
I was wondering why C++ has not a standard GUI library anyway.. Of course there are many good libraries out there to make very fancy GUIs (for example QT libraries between others). These GUIs libraries out there are (most of them) platform dependent, as I have heard (I just tried once to use QT, but I don't like it much, because they change almost all the syntax). So there's a problem to make these GUIs libraries platform independent. But is this real? Cannot the standard committee do a GUI standard library because they can't do a platform independent library? It's seems just that they are not able to do it, because they are not good enough to do it. I say this as an intuition and not basing me on a particular fact.
Why do they not introduce a GUI standard library?
There are many challenges that comes with such project. Firstly, it requires time and effort and second, it needs to adhere to the standards. These 2 things don't just happen in a span of weeks or months. Most likely there is already a plan to put a GUI library in place, but that is not their biggest concern right now.
There are many c++ library extensions created by 3rd party organizations (Boost, SFML, Qt, LLVM compilers, etc) who have taken to addressing most of the limitations of the standard C++ library. The advantage of this is that if the standard now wants to in cooperate these libraries into the standard, all that is required is a little adjustment and viola C++20 has GUI capabilities.

For example, if you look on the isocpp website that describes current projects, (https://isocpp.org/std/status), you will see that they are also working on a Networking library, and many more. In essence, the way I see it is that c++ is trying to expand and come to the same playing field as Java and when this happens, things like GUI libraries should not even be a question.
closed account (jvqpDjzh)
In essence, the way I see it is that c++ is trying to expand and come to the same playing field as Java and when this happens, things like GUI libraries should not even be a question.
I hope so, C++ would be the most complete language out there, if it really is going to happen! But my opinion is that they are too slow: for example, they introduce a standard to_string() function just with C++11, this is inadmissible, and I think that there are out there many compilers that are not compatible with that already.
Cannot the standard committee do a GUI standard library because they can't do a platform independent library?

They can't "do" a library, because that's not their job at all. What they can do is consider the interface of a library that exists, if someone proposes one to become part of standard C++. If approved, that would mean that every company that ships their own compiler (except the one that made the proposal) will have to write their own library to implement the new requirements.

For example, the regular expression library, copying the interface of boost.regex, was approved in 2005, became part of the standard C++ library extensions in 2007 and merged into mainline C++ standard in 2011, but while Microsoft and LLVM wrote their own regex libraries to that spec back in 2010, gcc only found the resources to do that in 2014.

FWIW, there is a 2D graphics library proposal before the committee right now, to be looked at the next meeting: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4021.pdf
Last edited on
closed account (jvqpDjzh)
I think that C++ is not so loved by many also because of this situation, but I hope that early this scenario changes! They have to understand that a GUI standard library (even minimal) is essential nowadays for every respectable language, in my opinion ofc!
I would prefer if the committee spent their time solving actual problems.
closed account (jvqpDjzh)
?
HPC is more useful than GUI, IMHO.
closed account (jvqpDjzh)
You're definitely going to save the world!
Last edited on
There is no reason for such a library to be in the standard. It would be complicated and has little advantage to being integrated into the compiler's standard library compared to a third party.

Btw, I'm not an advocate of a large standard library. I'm a bit biased.
Last edited on
Registered users can post here. Sign in or register to post.