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.
And I agree. As a user and developer, I have no idea what the OP is on about
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.
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.
I use Arch btw.
But maybe that's just the extra motivation I need to use something else like FreeCAD or OpenSCAD with more git-able files anyway.
(I also use Arch btw.)
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.
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.
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.
You have to pay extra for basic window manager features on macos? How is that even caring about the experience of users let alone devs?
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...
That doesn’t mean it’s not patented. It just means there’s nobody worth Microsoft suing.
However it’s better for most people than the alternative.
Fixing this should be job #1 for the Linux community.
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.
I'm using a macbook as a dev machine, and I've genuinely never been so productive in my career.
While on macOS, I as developer, only care about Apple Frameworks and languages.
Developer != UNIX command line.