Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vjtvvk$2787g$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vjtvvk$2787g$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: David Brown <david.brown@hesbynett.no>
Newsgroups: comp.lang.c++
Subject: Re: 'Graphics' of libwy
Date: Wed, 18 Dec 2024 09:09:22 +0100
Organization: A noiseless patient Spider
Lines: 60
Message-ID: <vjtvvk$2787g$1@dont-email.me>
References: <4ffeda4ce7116f70754bcfcaee87cb729081fac3.camel@gmail.com>
 <vjqhau$1ceif$1@dont-email.me> <vjs2do$1p3ce$1@dont-email.me>
 <vjs7a7$1qa1n$1@dont-email.me> <vjs8uq$1qgh4$1@dont-email.me>
 <vjsaa3$1qrhs$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 18 Dec 2024 09:09:24 +0100 (CET)
Injection-Info: dont-email.me; posting-host="d60357c14df3531c321ff0882880aedd";
	logging-data="2334960"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/0D0fjUjy6/NEiH3siwW9WwuS5rGBHsbw="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Cancel-Lock: sha1:mo/xJxSWyUMtsv750pCRpf6tRWA=
Content-Language: en-GB
In-Reply-To: <vjsaa3$1qrhs$1@dont-email.me>
Bytes: 4124

On 17/12/2024 17:53, Muttley@DastardlyHQ.org wrote:
> On Tue, 17 Dec 2024 17:30:18 +0100
> David Brown <david.brown@hesbynett.no> wibbled:
>> On 17/12/2024 17:02, Muttley@DastardlyHQ.org wrote:
>>> Personally I'd go with Qt. Its mature and cross platform and does what 99%
>>> of most people need.
>>>
>>
>> No, it doesn't come close to that.  It's a solid gui library with lots
>> of extra tools, and is useful to many people - but it's nothing remotely
>> like you suggest.
>>
>> It has a license that is totally unsuitable for standardisation.  I'm
>> not complaining about the license - the people that wrote the library
>> get to pick the license.  But a standard C++ gui library, if such a
>> thing is ever made, has to have a very liberal license - BSD/MIT at most.
>>
>> And Qt is hardly a lightweight choice either.
> 
> None of them are. If you want lightweight don't use a cross platform library.

That's not true - FLTK comes to mind.  (I have not used it.)

Sometimes you want a heavyweight toolkit with lots of features, 
sometimes you want a lightweight toolkit.  And sometimes you want 
something completely different, such as an immediate mode gui toolkit. 
This is why a /standard/ C++ gui library makes little sense.

Look at other languages - Python has a "standard" gui library based on 
Tkinter, but there are a dozen other popular gui toolkits used with 
Python.  One size does not come close to fitting all for gui toolkits.

> 
>> I think if there is ever going to be a standard gui library for C++, it
>> will be written specially for the purpose.  That has some big advantages
>> - if the designers decide they need extra language features for signals
>> and slots, for example, then those can be added to the language rather
>> than using an external tool.
> 
> You don't want a library that only works with the latest bleeding edge versions
> of C++. IMO C++ 2011 would be a reasonable oldest version.
> 

I'd much rather have one that takes advantage of relatively modern C++ 
features than one that re-invented these same features in their one 
special ways - which is what you see with these older libraries.  I'd 
put C++11 as a minimum stepping point - C++ post-C++11 is a very 
different language from that of pre-C++11.  But if I were looking for a 
new, well-designed modern C++ gui library, I'd want to see concepts, 
std::format, ranges, and that the whole thing was organised in modules. 
That all means C++20.  It's worth upgrading your tools for those for 
something like a gui library.

But if the C++ committee were to make a standard C++ gui library as part 
of the C++ standard, then it would by definition be part of a later C++ 
standard.  So if it was targeted for C++29, then of course it could rely 
on all the language and library features of standard C++ up to and 
including C++29.