> Because we care more about systemd vs sysv then a single good consistent UI.
I always thought the whole systemd thing was a clown car joke. Nobody actually cared, right? Anyone that mattered?
It isn't fair to say that because KDE and Gnome exist that Linux is screwed forever. They are entirely two different stacks, and their competition breeds innovation and progress. You can't have "do whatever you want with the code" software and not see the emergence of competing ideas. Both projects also date back to the mid 90s, so they are so old with so many millions of LOC under them you don't throw that away. Especially when doing so basically tells hundreds of free software developers to - in many cases - use something they hate - either GObject C or Qt respectively. Both are not pleasant to work in, and while both have their own abstractions (GTK has its Python bindings and Javascript design thing and Qt has QML) you always end up dropping into the base toolkit for something. They exist because competing technologies exist, and you should evaluate them independently as much as you would evaluate Windows or OSX.
> Because we think writing desktop components in javascript and python will give good (enough) performance that won't feel sluggish; hint, they won't.
The vast majority of enterprise software is being written in one of the following nowadays:
* Java. Ugly as fuck, can be slow when written poorly (and it will be written poorly). Huge clunky codebase, giant memory footprint.
* React / Electron / Just a webapp. Super slow, super clunky, super painful to write because you break the browser metaphor in a dozen ways trying to make it work. It is putting plane wings on a VW Beetle and hoping you get somewhere in one piece.
* Mobile apps, ignoring the desktop, and pissing everyone off in the process. Some businesses I know have tried putting their Android APK business app they use on ipads in the field in ARC on Chrome for the Desktop to get their office staff using it, its insane.
None of these are good. It is all shit. All the native APIs are colossal shit. Cocoa is awful, Objective C is awful. C# is... ok. But its awful. UWP is horrifyingly bad with some mutant C++ dialect and the promise of eternal lock-in.
Compared to everything else, GTK and Qt are the best development environments for user software by far. I personally might significantly prefer the modern QML style Qt programming over GTK3, but they are still leagues beyond the usability of any other platform, and that is without even considering that they are cross platform.
That is about the worst criticism of the Linux desktop ecosystem, because that is also the best thing the ecosystem has produced, two really good toolkits. GTK not so much for stability, but just using it is much less painful than any first class alternative.
If we can get something to Qt's standards and API coverage written in, say, Rust, that would be the golden miracle. But PyQT right now isn't that bad. It is pretty bad, having to put C++ metaphors in Python, but its only as bad as GObject metaphors in Python, and way better than anything on .net or the awful NDK on Android.
I always thought the whole systemd thing was a clown car joke. Nobody actually cared, right? Anyone that mattered?
It isn't fair to say that because KDE and Gnome exist that Linux is screwed forever. They are entirely two different stacks, and their competition breeds innovation and progress. You can't have "do whatever you want with the code" software and not see the emergence of competing ideas. Both projects also date back to the mid 90s, so they are so old with so many millions of LOC under them you don't throw that away. Especially when doing so basically tells hundreds of free software developers to - in many cases - use something they hate - either GObject C or Qt respectively. Both are not pleasant to work in, and while both have their own abstractions (GTK has its Python bindings and Javascript design thing and Qt has QML) you always end up dropping into the base toolkit for something. They exist because competing technologies exist, and you should evaluate them independently as much as you would evaluate Windows or OSX.
> Because we think writing desktop components in javascript and python will give good (enough) performance that won't feel sluggish; hint, they won't.
The vast majority of enterprise software is being written in one of the following nowadays:
* Java. Ugly as fuck, can be slow when written poorly (and it will be written poorly). Huge clunky codebase, giant memory footprint. * React / Electron / Just a webapp. Super slow, super clunky, super painful to write because you break the browser metaphor in a dozen ways trying to make it work. It is putting plane wings on a VW Beetle and hoping you get somewhere in one piece. * Mobile apps, ignoring the desktop, and pissing everyone off in the process. Some businesses I know have tried putting their Android APK business app they use on ipads in the field in ARC on Chrome for the Desktop to get their office staff using it, its insane.
None of these are good. It is all shit. All the native APIs are colossal shit. Cocoa is awful, Objective C is awful. C# is... ok. But its awful. UWP is horrifyingly bad with some mutant C++ dialect and the promise of eternal lock-in.
Compared to everything else, GTK and Qt are the best development environments for user software by far. I personally might significantly prefer the modern QML style Qt programming over GTK3, but they are still leagues beyond the usability of any other platform, and that is without even considering that they are cross platform.
That is about the worst criticism of the Linux desktop ecosystem, because that is also the best thing the ecosystem has produced, two really good toolkits. GTK not so much for stability, but just using it is much less painful than any first class alternative.
If we can get something to Qt's standards and API coverage written in, say, Rust, that would be the golden miracle. But PyQT right now isn't that bad. It is pretty bad, having to put C++ metaphors in Python, but its only as bad as GObject metaphors in Python, and way better than anything on .net or the awful NDK on Android.