Op 01-Mar-16 om 7:55 schreef Richard:
> [Please do not mail me a copy of your followup]
>
> Dombo <do...@disposable.invalid> spake the secret code
> <nasqe0$vgd$
1...@dont-email.me> thusly:
>
>> Op 27-Feb-16 om 5:19 schreef Alf P. Steinbach:
>>> On 27.02.2016 01:54, Richard wrote:
>>>> Lynn McGuire <
l...@winsim.com> spake the secret code
>>>> <naqk3a$s2i$
1...@dont-email.me> thusly:
>>>>
>>>>> There is not a standard user interface toolkit proposal.
>>>>
>>>> Don't need it.
>>>>
>>>> There are already several good defacto standards: Qt, wxWidgets, and
>>>> (less to my personal taste, but relevant) MFC. [...]
>>
>> Unfortunately those user interface kits are showing their age; they
>> don't take advantage of modern C++ features but instead choose to supply
>> their own string, container...etc classes and mechanisms. All of this
>> was understandable in the nineties before C++ was standardized but is
>> unforgivable in this day and age.
>
> That's a fair criticism. wxWidgets (and I assume Qt, but I know less
> about how they decide future directions) would welcome a modern
> version of the toolkit that used C++ more directly. However, consider
> that wxWidgets is constrained by the underlying GUI toolkit of the
> environment (Win32, Cocoa, Tcl/Tk, whatever). There isn't always a
> good mapping from modern C++ to these underlying systems.
wxWidgets is clearly inspired by MFC; not my favorite to put it mildly.
In the defense of MFC one can argue that when it was conceived in the
early nineties the Microsoft compiler supported little more than "C with
classes"; no exceptions, no templates, no standard library (thus no
standard string and container classes) and slow processors and a not
terribly clever compiler. No such excuses for wxWidgets.
As far the underlying GUI toolkit and modern C++ features are concerned;
those are mostly orthogonal aspects.
> And jesus, no, we don't need something that isn't an evolution of what
> we currently have. In other words, creating an ivory tower type GUI
> library that feels good from a modern C++ perspective, but provides no
> bridge to existing GUI technologies or API is a complete waste of
> time. Existing defacto standards have momentum and pretending that
> your library is better without that momentum on your side is silly.
The problem in the C++ world is that there is no defacto standard as far
as UI toolkits are concerned, there are god know how many C++ UI
libraries out there. Qt being arguably the best one if you can live with
the bloat, but still far from ideal as far as I'm concerned.
And by the way I don't have my own UI library, and have zero intention
to create one. Those are the kind of things I rather buy than build myself.
>> It can't be 10% or even 50% better if you're proposing an entirely new
>> library, it has to be 5000% better to convince people it's worth
>> learning/switching from what they already know.
You are missing the point. I find building UI applications in C++ rather
unproductive compared to most other programming languages I know of. One
reason is that they don't take advantage of modern C++ features (they
added those to the language for reason you know) but instead rely on on
their own kludges to implement features C++ compliers didn't have back
in the nineties. Another being that C++ UI libraries tend to have their
own types for string and containers. Now I'm not a big fan of the
standard library, but it is a _standard_ supported by all compilers. The
problem with a library having its own types is you have to write glue
code (which is error prone and doesn't add value) unless the library
does every you will ever need, which is probably the reason why Qt
attempts to provide everything but the kitchen sink.
>> Development of WinForms has stopped well over a decade ago, [...]
>
> The key thing you're all missing when you list GUI libraries for these
> other languages is THEY ARE NOT PART OF THE STANDARD. Sometimes this is
> because there is no standard for the language, or because the standard
> only specifies the language and not any pile of libraries on top). C#
> standard doesn't specify the .NET Framework, which is a pile of libraries
> from Microsoft. And so-on.
Strawman argument. I'm not arguing for having a C++ UI library in the
standard. I'm arguing for a UI library that smoothly interfaces with the
types provided by the standard library.
> My point is that these other languages are doing just fine,
> thank you, without "standardizing" a GUI toolkit.
Unlike C++ many programming languages, like C#, have one or only a very
few "defacto" UI libraries that do interface smoothly with the types in
standard library that comes with the language.
> So is C++.
If you just need an UI, C++ is rarely the best option IMO.
> There is no need for a GUI toolkit in the C++ standard because we
> already have defacto standards that are serving the need just fine.
Notice the words "defacto" and "standards" . Now think about that for a
moment (hint: the latter word is plural).
> I could understand this clamor for a GUI toolkit if there was nothing
> available and there was a huge screaming void, but there have been
> C++ GUI toolkit libraries since 1988 when InterViews was described
> and that was done straight on top of Xlib, which was a C API.
> <
http://www.cs.tufts.edu/~nr/cs257/archive/mark-linton/interviews.pdf>
Again strawman argument. No one is claiming there are no UI toolkits for
C++, if anything there are rather too many which is an indication that
there are apparently more people not too satisfied with the UI libraries
that already existed.