The end result being that you can't get everything in any one of them, and often can't get a particular application in any of them.
Plus I find the general sandbox approach to be a LOT more stable - distro upgrades rarely causes issues, and dependencies are much easier to wrangle.
Definitely still some hiccups, but overall it feels like it's moving in a direction that I find easier to work with - both as a user and a developer.
Plus the markets are generally fairly large - sure I still dip into aur every now and then, but I mostly find the "Software I need at work" stuff available
I think that speaks to a particularly huge failure of Linux Desktop more than anything else.
When it comes to platforms[0], you need to be able to depend on certain things being there and working a certain way. Fragmentation of a platform is bad, and Linux Desktop is so fragmented the various distros style themselves as entirely different OSs!
[0] As opposed to applications. Part of the problem is that historically there has never been a clear delineation in Linux Desktop.
This is the point I'm making though. There is fragmentation on the desktop (even if we just stick to window managers, display managers, desktop environments). But there's fragmentation EVERYWHERE. I can choose from thousands of distros, in numerous package formats, with different opinions on that collection of software and its default configuration.
Linux Desktop is fragmented but no worse, IMHO, than elsewhere. I'm not saying it's a good thing, but some people do like the choice otherwise those other choices wouldn't exist.
Android is also a prime example of the same thing.
If you compare Linux Desktop to other desktop operating systems it is catastrophically fragmented by comparison.
> Android is also a prime example of the same thing.
No, it really isn't, because I only have one package format that I have to package Android applications in and the only API I have to deal with is the Android API. Though of course that's a headache because of how new permissions and older APIs interact, but that's still a lot more straight-forward.
No snark intended, but how much did you pay for the software?
The point of the statement wasn't to badmouth developers for not making a Linux binary, it was to criticize the state of application deployment on Linux being so terrible that a developer didn't want to bother making a binary for it. That's true regardless of the cost of the software. Linux Desktop doesn't get to be all "please use me, I'm great!" and "well, what do you want for free?" at the same time.
From my experience, most of the popular proprietary ones (think: Slack, Discord, Spotify, whatever) are distributed both as a flatpak and as a snap, while more niche desktop apps are usually flatpak-exclusive (out of those options).
Perhaps you just don't use that many things that aren't really popular or well known? I can't find PuTTY and KeePass (though obviously there are alternatives in those cases), applications that both have Linux versions and that I use every day (and aren't even that unknown).
Also, unfortunately the limitations of Flatpak mean even if what you want is there, say Wireshark, it often won't have full functionality because it is impossible to give it the permissions it needs. In Wireshark's case, it can't actually capture any packets. If you want to actually use it you'll still need to resort to a different installation method.
That being said, unless the flatpak has some features your distro version doesn't, for trusted software package is always preferred.
Flatpak is really for untrusted software/proprietary and projects that update with new features often.
For me this was a much bigger issue when I was on Windows, but also in Ubuntu which groups programs together similarly to the Windows taskbar. I'm on i3 now mostly and just use a normal terminal for ssh, but for quite some time I was using putty on linux specifically for window management.
It's been some time since I last read anything like that from you. Would you mind to comment if ebpf usage and the possible new futex2 syscall helps to close the gap between linux and NT with regards to async primitives?