October 21, 2018
On Sunday, 21 October 2018 at 18:24:30 UTC, Jacob Carlborg wrote:
> On 2018-10-21 19:29, Russel Winder wrote:
>
>> But who apart from Eclipse and JetBrains uses Java for desktop GUI
>> applications?
>
> There's probably a ton of business/enterprise applications that are written in Java.
>
> But I don't care for that, that's why I'm using D :)
>
>> I do not have Eclipse to check, but the JetBrains IDEs
>> (at least CLion, GoLand, IntelliJ IDEA, and PyCharm) ship Swing, SWT,
>> and JavaFX in their systems.
>
> Not sure what you mean with "ship" here. Swing and JavaFX are shipped with Java.
>
> Eclipse itself is built using SWT.
>
>> Swing, and I believe SWT, have somewhat old architectures for GUI
>> frameworks where GTK+, Qt, and wxWidgets have moved on. But this may
>> just be opinion rather than agreed "fact".
>
> I haven't use these other frameworks so I don't know what's consider old architecture and modern architecture.
>
>> Apart from GtkD on GTK+ systems
>
> Linux doesn't have a "native" GUI in the same sense as macOS and Windows.
>
> , and dqml, QtE5, qtD, and dqt on Qt,
>> and wxD on wxWidgets. Qt and wxWidgets pride themselves on being able
>> to use native frameworks underneath – I have no personal evidence as I
>> only use GNOME, I am not a good data point.
>
> Qt is not native, at least not on macOS. Are any of the Qt D bindings actually useful? wxD seems very old, D1 old, is that useable?
>
> When I said that DWT is basically the only native D toolkit, I failed to also include: up to date (as in working with the latest compiler), working and cross-platform.

I like it and I'm looking forward that it gets beyond swt 3.4.
I ported my Java GUI SWT program to D and it was a breeze to do. I didn't even require to change the structure of the app and the class hierarchy. There was only the file and string handling that I had to change, in fact make so much more readable and efficient.
There were some difficulties because of compiler issues in version 2.7x, but those were resolved and everything went smooth after that.
October 21, 2018
On 10/21/18 7:36 AM, Andre Pany wrote:
> 
> While talking about bindings, do not forget Delphi. It has still a good eco system. Combining Delphi's advanced Runtime reflection capabilities with D's advanced compile reflection capabilities opens this eco system.
> 
> I created a proof of concept and the results were really promising. Using Delphi components is very easy and the wrapper code on D side is very thin.
> 
> Even clicking together a Firemonkey ui in Delphi and writing all code in D works fine.
> 
> Delphi is available for windows,  Mac os,  Android and IPhone. Linux support is somehow planned. It is free for personal use.
> 
> See an example here https://github.com/andre2007/delta-fmx-10-2-1/blob/master/examples/gui1/source/app.d 
> 
> 
> Due to very limited time resources I have no time to work on this specific topic at the moment but everyone is free to use these base research results.
> 
> Side remark: Lazarus (free pascal) is planning to add the same advanced Runtime reflection capabilities as Delphi.
> 

Interesting, thanks for the info. I'm somewhat ashamed to say I didn't know Delphi was still around!

For those younger programmers out there, Delphi is a Pascal-based system that was key in popularizing what we used to call "RAD" tools ("Rapid Application Development") such as Visual Basic, and the modern GUI-builder tools they've evolved (or devolved?) into.

I have to admit, I've somehow managed to write code all the way from the late 1980's through today without ever learning or writing any Pascal. But I do know Delphi was very respectable back in the day (with a somewhat Basic-like, but more capable, syntax), so it's nice to know it's still around and even supports modern mobile, which is really kinda cool.
October 22, 2018
On 10/21/18 1:13 PM, Russel Winder wrote:
> On Sun, 2018-10-21 at 04:15 -0400, Nick Sabalausky (Abscissa) via
> Digitalmars-d wrote:
>> […]
>>
>> That's pure nonsense: It's Linux - unless one option actually goes
>> away
>> (KDE is still actively used and developed), then there's no such
>> thing
>> as one "winning" over the other.
> 
> Hardly nonsense. Debian, Ubuntu, Fedora all prefer GNOME over KDE, so
> GTK+ over Qt.

First of all, minor nitpick: Unless some bombshell news occurred that I managed to miss, Ubuntu pushes their own Unity, NOT Gnome. Yes, that's still GTK, but still...accuracy...FWIW.

But more importantly, "prefer" is vague a weasel word in this situation. The claim is that the distros "prefer" GTK over Qt. The *reality* is far more simple: The installers for the distros give you a choice between Gnome, KDE and (on Ubuntu) Unity, and Gnome/Unity just happen to often be the default. That's the *only* thing that "prefer" means in this context, so let's call a spade a spade: It's a common installer default. That's all.

Furthermore, regardless of what distro you've installed, KDE can always be installed and used. And (unless things have changes since last I looked) every single one of the distros you mention maintain the full set of KDE packages in their repositories.

So yes, saying that GTK "won" over Qt is hyperbolic nonsense. Does it have a slight dominance WRT Linux DE's? Yes. Unfortunately. But that's like claiming a victor between iOS and Android: BOTH still have significant user-bases. BOTH are still actively developed with no end even remotely in sight. BOTH are still relevant and will remain so for the foreseeable future. So long as they both coexist (and the GNU/Linux ecosystem actively promotes coexistence of competitors - which it does), any claim of a victor, or of one competitor "winning" over another, IS, yes, hyperbolic nonsense.

Plus, as others have said, industry tends to take Qt more seriously than GTK anyway. So once again, hyperbolic nonsense to claim GTK "won".

> 
> People coming from Windows or macOS are genreally unaware of the notion
> of choice when it comes to UI. That Linux provides a choice is clearly
> alien to them. That I have chosen GNOME over KDE is a personal choice,
> but I like having the choice: I like that others can choose KDE or
> Cinnamon or whatever.
> 

I believe this is pretty much exactly my own point, too ;) Ie, regardless of the Win/Mac crowds unfortunate misconceptions, Linux is about choice, not about one option "winning" over another. Thus, for one competitor to defeat another in Linux, the loser would have to either cease to exist, or become extremely marginalized. Note that "extremely marginalized" is a far, far stronger notion than "not majority" or "not the default of the options given by the installer".

> […]
>> Programmers writing GUI apps often like GTK. Nobody else does. From
>> a
>> programmer standpoint, it may very well be nice. But that's
>> irrelevant,
>> because from the user standpoint, GTK is, and has always been, a
>> steaming pool of diarrhea, even if you ARE using GNOME/Unity.
> 
> GTK+ is fine and dandy. That you do not like it is your choice, and
> that is fine.
> 

Ditto for Qt. Which again, is a key part of my point.

But that said, out of all the people I've come across who use a GTK-based DE (ie, Gnome or Unity), very few of them, if any, do so because they like GTK apps better than Qt apps (Or the GTK-file chooser over the Qt file-chooser ;)). The vast majority of the time, it's simply because they *don't object* to Gnome/Unity and merely go along with it - *not* because they consider it superior to KDE, nor because they prefer GTK apps to Qt apps.

For that matter, out of those people I've come across who DO have a significant preference regarding "GTK app" vs "Qt app", the vast majority of people who actually care are on the "Qt UI" side. Out of the minority who prefer GTK apps, the majority are GTK or Gnome developers themselves. (BTW, Note, in ALL of this, I'm referring to GTK/Qt UI, not GTK/Qt API. Just to clarify.) On top of that, it's no secret that GNOME 3 triggered an exodus of GNOME developers, and for very well-known reasons. But there's no such equivalent for KDE.

I have no doubt there *are* people out there who do consider GTK/Gnome/Unity superior to KDE/Qt, and Ihave no intention to claim that they are "wrong". But in my experience, such people account for a vast *minority* of GTK/Gnome/Unity users.

Ultimately, everything points to the same thing: Those who actually CARE about GTK/Gnome/Unity vs Qt/KDE, typically prefer Qt/KDE. The rest are just swing votes.

As for the distros choice of "which do we make default?", that's really no surprise and implies nothing significant: The tech industry's current runway-fashion wind direction is clearly "The user should adapt to the software", not the other way around. Thus fully explains GTK/GNOME/Unity as the gatekeepers' current suggestions. Just like Win/Mac: "Actual user opinions: not relevant."
October 22, 2018
On Monday, 22 October 2018 at 04:41:08 UTC, Nick Sabalausky (Abscissa) wrote:
> On 10/21/18 1:13 PM, Russel Winder wrote:
>> [...]
>
> First of all, minor nitpick: Unless some bombshell news occurred that I managed to miss, Ubuntu pushes their own Unity, NOT Gnome. Yes, that's still GTK, but still...accuracy...FWIW.

To be accurate, Ubuntu announced the dropping of Unity back in April 2017. Current versions of Ubuntu use Gnome.

https://phoronix.com/scan.php?page=news_item&px=Ubuntu-Dropping-Unity

>
> But more importantly, "prefer" is vague a weasel word in this situation. The claim is that the distros "prefer" GTK over Qt. The *reality* is far more simple: The installers for the distros give you a choice between Gnome, KDE and (on Ubuntu) Unity, and Gnome/Unity just happen to often be the default. That's the *only* thing that "prefer" means in this context, so let's call a spade a spade: It's a common installer default. That's all.
>
> Furthermore, regardless of what distro you've installed, KDE can always be installed and used. And (unless things have changes since last I looked) every single one of the distros you mention maintain the full set of KDE packages in their repositories.
>
> So yes, saying that GTK "won" over Qt is hyperbolic nonsense. Does it have a slight dominance WRT Linux DE's? Yes. Unfortunately. But that's like claiming a victor between iOS and Android: BOTH still have significant user-bases. BOTH are still actively developed with no end even remotely in sight. BOTH are still relevant and will remain so for the foreseeable future. So long as they both coexist (and the GNU/Linux ecosystem actively promotes coexistence of competitors - which it does), any claim of a victor, or of one competitor "winning" over another, IS, yes, hyperbolic nonsense.
>
> Plus, as others have said, industry tends to take Qt more seriously than GTK anyway. So once again, hyperbolic nonsense to claim GTK "won".
>
>> [...]
>
> I believe this is pretty much exactly my own point, too ;) Ie, regardless of the Win/Mac crowds unfortunate misconceptions, Linux is about choice, not about one option "winning" over another. Thus, for one competitor to defeat another in Linux, the loser would have to either cease to exist, or become extremely marginalized. Note that "extremely marginalized" is a far, far stronger notion than "not majority" or "not the default of the options given by the installer".
>
>> [...]
>
> Ditto for Qt. Which again, is a key part of my point.
>
> But that said, out of all the people I've come across who use a GTK-based DE (ie, Gnome or Unity), very few of them, if any, do so because they like GTK apps better than Qt apps (Or the GTK-file chooser over the Qt file-chooser ;)). The vast majority of the time, it's simply because they *don't object* to Gnome/Unity and merely go along with it - *not* because they consider it superior to KDE, nor because they prefer GTK apps to Qt apps.

Chalk me up as one who prefers Gnome over KDE. I like the clean UI that gnome provides and the adherence to a common HIG. KDE is way too fussy and busy for my taste. I also don't agree this is a minority viewpoint.

Like Russell though I'm glad there is choice and people can use what they prefer be it Gnome, KDE, Mate, Cinnamon, XFCE, i3 or whatever.

I would also be white happy to see D support Qt as well just to have more options.

> For that matter, out of those people I've come across who DO have a significant preference regarding "GTK app" vs "Qt app", the vast majority of people who actually care are on the "Qt UI" side. Out of the minority who prefer GTK apps, the majority are GTK or Gnome developers themselves. (BTW, Note, in ALL of this, I'm referring to GTK/Qt UI, not GTK/Qt API. Just to clarify.) On top of that, it's no secret that GNOME 3 triggered an exodus of GNOME developers, and for very well-known reasons. But there's no such equivalent for KDE.
> I have no doubt there *are* people out there who do consider GTK/Gnome/Unity superior to KDE/Qt, and Ihave no intention to claim that they are "wrong". But in my experience, such people account for a vast *minority* of GTK/Gnome/Unity users.

Not in my experience.

> Ultimately, everything points to the same thing: Those who actually CARE about GTK/Gnome/Unity vs Qt/KDE, typically prefer Qt/KDE. The rest are just swing votes.
>
> As for the distros choice of "which do we make default?", that's really no surprise and implies nothing significant: The tech industry's current runway-fashion wind direction is clearly "The user should adapt to the software", not the other way around. Thus fully explains GTK/GNOME/Unity as the gatekeepers' current suggestions. Just like Win/Mac: "Actual user opinions: not relevant."

Most distro maintainers want their distro to be as popular as possible. If KDE was a slam dunk like you imply they should be jumping over themselves to make it the default yet they do not. When Ubuntu dropped Unity they had a perfect opportunity to make KDE (or something else) the default yet they did not.

I think that says volumes about the argument.

October 22, 2018
On 10/21/18 1:29 PM, Russel Winder wrote:
>> No, D should not forget DWT. It's one of the few (they only?) D GUI
>> toolkit that has a native look and feel.
> Apart from GtkD on GTK+ systems, and dqml, QtE5, qtD, and dqt on Qt,
> and wxD on wxWidgets. Qt and wxWidgets pride themselves on being able
> to use native frameworks underneath – I have no personal evidence as I
> only use GNOME, I am not a good data point.

Qt is well-known for going to great lengths, and achieving at least a certain degree of success, to have a native look-n-feel. (Regardless of how well they may or may not have succeeded compared to wx). It is a key, deliberate goal for Qt.

GTK, OTOH, is famous for its outright CONTEMPT for native look-n-feel.

It's even true just on Linux itself: Qt makes attempts to fit in on Gnome/Unity. Gtk not only doesn't, but also unapologetically killed off the most popular and widespread Qt/KDE-compatability module in *a mere POINT RELEASE*. And then they proceeded to rationalize it. And not one of them ever did move one muscle to rectify it, or even acknowledge any possibility of making a questionable move. (And don't even get me started on the multi-decade clusterfuck that is the GTK file-chooser.)

Qt makes effort for native look-n-feel.

GTK is INFAMOUS for having outright CONTEMPT for native look-n-feel.

There is NO comparison, whatsoever.
October 22, 2018
On Mon, 22 Oct 2018 00:41:08 -0400, Nick Sabalausky (Abscissa) wrote:
> Ultimately, everything points to the same thing: Those who actually CARE about GTK/Gnome/Unity vs Qt/KDE, typically prefer Qt/KDE. The rest are just swing votes.

Unity 7 and prior for the desktop use Nux, an OpenGL-based widget toolkit. Unity 8 and all mobile versions of Unity use Qt. The application set that Ubuntu shipped with Unity was, I think, heavier on the GTK+ side.

I can't answer for "typical" users, but I've preferred GTK+ since 2005. Qt applications feel a bit off to me, and the standard themes were all weirdly bubbly. And while I've used probably a dozen window managers and at least four desktop environments, I've been on MATE for several years now.

> As for the distros choice of "which do we make default?", that's really no surprise and implies nothing significant: The tech industry's current runway-fashion wind direction is clearly "The user should adapt to the software", not the other way around. Thus fully explains GTK/GNOME/Unity as the gatekeepers' current suggestions. Just like Win/Mac: "Actual user opinions: not relevant."

RedHat provides a lot of support and development for GNOME. That makes it a relatively attractive option for other distros.
October 22, 2018
On 10/22/18 1:08 AM, Gerald wrote:
> On Monday, 22 October 2018 at 04:41:08 UTC, Nick Sabalausky (Abscissa) wrote:
>> On 10/21/18 1:13 PM, Russel Winder wrote:
>>> [...]
>>
>> First of all, minor nitpick: Unless some bombshell news occurred that I managed to miss, Ubuntu pushes their own Unity, NOT Gnome. Yes, that's still GTK, but still...accuracy...FWIW.
> 
> To be accurate, Ubuntu announced the dropping of Unity back in April 2017. Current versions of Ubuntu use Gnome.
> 
> https://phoronix.com/scan.php?page=news_item&px=Ubuntu-Dropping-Unity

Wow! I really am out of the loop then. That is SERIOUSLY *MEGATON*-level announcement. I'm shocked that I missed it. I would never have even guessed. Thanks for the input!

> Chalk me up as one who prefers Gnome over KDE. I like the clean UI that gnome provides and the adherence to a common HIG. KDE is way too fussy and busy for my taste. I also don't agree this is a minority viewpoint.
> 
> Like Russell though I'm glad there is choice and people can use what they prefer be it Gnome, KDE, Mate, Cinnamon, XFCE, i3 or whatever.
> 
> I would also be white happy to see D support Qt as well just to have more options.
> 

Fair enough. For me, I find GTK/Gnome to be chunky (ex: problematic overuse of margins/padding) and Apple-level "zee must conform!" (ie: under-use of configuration). That, and an outright bad file-chooser ;)

But, it's possible I might agree with you if we were talking KDE's defaults - I don't actually use KDE's defaults. But that's kinda my point though: KDE is based around the philosophy of configurability, whereas Gnome (while admittedly does have a certain level of configurability) it very intentionally designed around a philosophy of conformity being superior to configurability.

But more importantly than anything else, it seems we all clearly agree: The key (and beauty) of Linux is "user's choice", not "GTK vs Qt".

> Most distro maintainers want their distro to be as popular as possible. If KDE was a slam dunk like you imply they should be jumping over themselves to make it the default yet they do not. When Ubuntu dropped Unity they had a perfect opportunity to make KDE (or something else) the default yet they did not.

Personally, I think you're underestimating the group-think factor in modern software management. From a managerial perspective, there are a LOT of VERY STRONG motivations for promoting conformity over configurability. Not the least of which is "That's the way of Apple/Facebook/etc, and Apple/Facebook/etc are extremely popular/successful".

That, combined with both modern tech's current focus on "buzz" and "popularity", AND the practical software-dev-management benefits gained from disregarding the user as anything but collective commodity, creates a VERY potent motivator to prioritize similarly-minded projects over a purely population-driven decision.
October 22, 2018
On 10/22/18 1:58 AM, Neia Neutuladh wrote:
> 
> Unity 7 and prior for the desktop use Nux, an OpenGL-based widget toolkit.
> Unity 8 and all mobile versions of Unity use Qt. The application set that
> Ubuntu shipped with Unity was, I think, heavier on the GTK+ side.
> 

Fascinating. I'm actually shocked by this, TBH.

I used to be an Ubuntu user, from back BEFORE Unity, back when Ubuntu used GNOME 2. My observation and experience had always been that both Ubuntu and Gnome 2 were trying to be an open-source imitation of OSX. Then, Gnome moved to v3 (and completely lost its mind) and Ubuntu responded by switching to its own brand-new still-GTK-based Unity. But that made Ubuntu feel all the *more* like an OSS OSX-clone, prompting me to migrate upstream to Debian, and eventually to Manjaro. Meanwhile, I observed Canonical lead Kubuntu to become nothing but more, and more, and more obscure and marginalized. And then there was the news of Canonical starting into desktop spyware territory, and by then I was already long gone...

So I'm honestly *shocked* to hear this. I NEVER would've guessed. I'm pretty sold on rolling-release at this point, but I'm intrigued enough that I'm gonna have to give the latest Ubuntu a try, at least in a VM. Just to see what's up with this "Qt-based Ubuntu", which to me, is much like hearing of Mario on a Dreamcast, or Sonic on SNES...
October 22, 2018
Jacob,

GitHub is currently making a total mess for me of our conversation on Issue 42, I see stuff then it goes away. Apologies if I have made a mess of that conversation for you.

On Sun, 2018-10-21 at 20:24 +0200, Jacob Carlborg via Digitalmars-d wrote:
> 
[…]
> There's probably a ton of business/enterprise applications that are written in Java.

Masses, but most Java is Web backend. JetBrains and Eclipse are the bastions of desktop Java applications.

> But I don't care for that, that's why I'm using D :)

I don't blame you. Whilst I like D, I fear I am being pulled more and more to Rust for GUI stuff.

> Not sure what you mean with "ship" here. Swing and JavaFX are
> shipped
> with Java.

Swing is, but JavaFX is now OpenJFX and a separate think to OpenJDK.

> Eclipse itself is built using SWT.

Indeed. But compared to Qt (and maybe GTK+ and wxWidgets) it is very
much a niche framework.

[…]
> 
> Linux doesn't have a "native" GUI in the same sense as macOS and Windows.

Or it has many native GUIs whereas Windows and macOS offer no choice?

> […]
> 
> Qt is not native, at least not on macOS. Are any of the Qt D
> bindings
> actually useful? wxD seems very old, D1 old, is that useable?

I had thought Qt for Mac did indeed map down to the Cocoa layer.

I fear qtD and dqt are not up to the task. I do not know about dqml. I have been told QtE5 is workable.

wxD would need some serious work in that case.

> When I said that DWT is basically the only native D toolkit, I failed
> to
> also include: up to date (as in working with the latest compiler),
> working and cross-platform.

:-)

I still think getting a Qt binding for D à la PyQt, PySide2, Rust-Qt, i.e. automated with minimal manual tweeks, would be a Very Good Thing™ for the D pitch in the desktop GUI applications arena.

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



October 22, 2018
On Mon, 2018-10-22 at 03:49 -0400, Nick Sabalausky (Abscissa) via
Digitalmars-d wrote:
> […]
> Just to see what's up with this "Qt-based Ubuntu", which to me, is
> much
> like hearing of Mario on a Dreamcast, or Sonic on SNES...

Canonical got heavily into Qt (well QML actually) when they were going to do a mobile phone. Lots of Go code. All dropped when the phone got dropped.

Ubuntu is basically Debian with some proprietary stuff. So for a (usually, caveat freezes) more rolling release Debian Sid is fine. GNOME is the default but you can easily change to other GTK+ based UIs or the full KDE and Qt thing.

I am guess Arch has a play in this game of rolling releases with GNOME or KDE.

Fedora Rawhide like Debian Sid defaults to GNOME, but allows for a switch to KDE. However Fedora Rawhide is, like Debian Sid, only sort of a rolling release.

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk