Apple has always made it clear that they care about the experience of their users, not the developers. Because the customers are there, the developers follow. That's just how it works unfortunately.
Also, clearly not designed for you? You can install Brew to have a package manager, Magnet to add Window snapping for a dollar, you can make it fit your use case for not that much effort or money. You don't have to use vanilla MacOS.
Furthermore, consider the alternatives. You've got Windows (bleh for a thousand reasons and clearly also not designed for developers), or you've got Linux (which doesn't have many of the apps you need, worse battery life, doesn't have Handoff to your iPhone). MacOS is the best all-rounder option for many people.
Yabai is (also free, beer and speech) the best I found. I mainly use Linux, but I do try to keep my dotfiles agnostic, or have ~'equivalents' like i3 & yabai.
MacOS is fine if you want to run with defaults and experience everything as Apple wants you to, and change that if they announce they want you to in the grand unveiling of the next version.
If you try to deviate at all, it becomes a fight.
Linux is sort of the opposite extreme and some people don't like it because to some extent (although surely not really true of Ubuntu etc.?) you have to have these would-be deviating opinions on setting something up, you know, choose a shell, a window/display manager, a browser, a file manager, etc. But because of that, it doesn't care which you pick, if you change it, or how long past its sell by date you keep it running.
> If you try to deviate at all, it becomes a fight.
Exactly this. Linux scares people because many people are allergic to choice, and the concept of actually developing an opinion on something other than the sum of their total experience on MacOS. Linux is frustrating, because there are a lot of different places you can point to as underdeveloped, but only because you can see the entire thing. When something breaks on MacOS, you just have to shrug and pray you don't use it, because your only support options are to reinstall MacOS or buy a new computer.
"High quality" depends on how you measure quality. If you're judging by looks and how many buttons it has, then yes, I think it takes the cake. But I honestly appreciate the current Linux design paradigm. GTK and QT are both awesome GUI toolkits, and compliment each other nicely. GTK does a wonderful job of filling the MacOS gap, by making it easy to create simple but effective UIs. QT, on the other hand, offers a more stable and "complete" experience, pretty much catered towards people familiar with the Windows/.NET development workflow.
Like the other commenter said, I just don't see anywhere Linux is particularly lacking. It has first class support with DAWs like Reaper and Bitwig, it has pretty great video editing chops with apps like Davinci Resolve and Kdenlive, and it almost has a complete photography setup, at least once GIMP switches to GTK+ and Darkroom gets a few more features. All of those are "high quality" apps, and they're also free: a pretty massive distinction from the MacOS software you might pit against it.
Sure, you might only miss one or two apps. And I might only miss one or two apps. But it's probably different apps for both of us, and I think that probably generally holds true for the vast majority of people.
The Linux Desktop is 95% of the way there, no question about it. But that 5% is different for each individual, and ultimately, it matters.
I mean, we can't kid ourselves here: none of these operating systems are 100% of the way there. By your logic, MacOS isn't 100% of the way there because it can't play the same games as Windows, and Windows isn't 100% of the way there without running Final Cut and Logic. The issue with that metric is that it will grossly play against your favor if we're being diminutive about the amount of software that's on each respective platforms.
It really depends what you do on your computer. I think a better way to look at it is that each of these OSes will do 90% of the things you want them to, and you just need to pick and choose which 10% matters the least to you.
It is not built in. They won’t sell it, though. There are tools to add this sort of features, some are free software, some are gratis but proprietary, and some cost money.
It reminds me of how my old Nokia phone could do such basic things as use custom ringtones, whereas iPhones of the time did not have this functionality.
Apple seems to have this thing where they treat basic functionality as a premium or an upgrade. Things like window snapping, or being able to compile and distribute software...
For a few years now, Linux has had KDE/GSConnect, which adds in basically all of the MacOS/iPhone handoff functionality to your Linux distro/WM of choice, with a few extra tools that go beyond even what Apple has.
For starters, there's the basic stuff: desktop messaging, contact synchronization, integrated wireless filesharing, universal clipboard/notifications and battery updates for your connected device.
Then it also has some features that don't exist on MacOS/iOS: you can set up macros on your computer and easily remotely execute them with the press of a button on your phone, use your phone as a wireless trackpad, synchronize media controls across all your devices, use your phone as a keyboard for your computer, use your computer as a keyboard for your phone, wirelessly mount your phone as a webcam, ring it at max volume if you lose it, and sharing links.
For the most part, Linux has "fixed" that. Really, the hardest part of using Linux is the onboarding process, which is being addressed with companies like System76 and Lenovo offering to ship laptops with Linux preinstalled.
Also, clearly not designed for you? You can install Brew to have a package manager, Magnet to add Window snapping for a dollar, you can make it fit your use case for not that much effort or money. You don't have to use vanilla MacOS.
Furthermore, consider the alternatives. You've got Windows (bleh for a thousand reasons and clearly also not designed for developers), or you've got Linux (which doesn't have many of the apps you need, worse battery life, doesn't have Handoff to your iPhone). MacOS is the best all-rounder option for many people.