Which one is better for you and why?
Linux for server stuff (web, file server etc.), embedded applications and re-purposing old hardware. The computing world would definitely be a poorer place without Linux.
...but I'd still choose MacOS as the daily driver, including some development stuff using Unix tools. Being able to virtualise Linux on the Mac is mostly useful for testing stuff in something as close as possible to the target environment (e.g. I have some websites running on Ubuntu 18.04 servers so it's handy to test stuff in a Ubuntu 18.04 container before uploading - but most of the development can be done under MacOS).
I don't think you can beat MacOS as a
desktop Unix implementation with all the Unix command-line tools, a good (if proprietary) GUI, a good range of high-quality proprietary software - including key, unavoidable, things like MS Office and Adobe Photoshop etc. (and several good Adobe alternatives) -
plus the ability to run most of the usual open source suspects either as standalone or via package managers like brew or macports, including XQuartz for anything graphical that doesn't have a native Mac UI.
For me, Linux (or any non-Mac Unix/X11-type system) falls down on anything GUI related - yes, there are desktop systems & powerful software packages - but I've found that, typically, Mac or even Windows desktop software is smoother, slicker, better designed (from the user POV) and easier to use. The Linux stuff is often more powerful and infinitely configurable - but tends to make the basic stuff unnecessarily hard & clunky with a "vertical learning curve" leading to the good stuff. E.g. given the choice of (to pick an example) Inkscape vs. Affinity Designer or gimp vs Photoshop/Pixelmator - the open source option will get the job done but the proprietary one is just easier and nicer to use. I'd only use (say) Inkscape if there were no other choice, if I had a strong conviction about only using open source
or if I wanted to do some tricky SVG-related work using Inkscape's more obscure features (although Affinity isn't bad at SVG-fu). But then, Inkscape, gimp etc. will run on MacOS, anyhow.
I think this is more than just picking on one *nix GUI app - it's fundamental to a system where:
- The underlying graphics/GUI engine(s) - X11 et. al. - are over-engineered and clunky. Having a network-transparent graphics system is a great party trick, but it doesn't mix well with modern, graphically rich, composited desktops: I wonder how many people today are actually running individual X apps over a network vs. using vnc or rdp to stream the entire desktop?
- There are multiple permutations of display managers and desktop environments (even within a single distro) which works against consistent UI designs
- There's a conflict of "design philosophy" between traditional Unix (lots of small utilities that do just one job well & can be strung together) and monolithic Mac/Windows-inspired "big apps".
- Open source software that tends to be written by developers for developers (some of whom, I suspect, see a desktop as a way of having 8 copies of VIM running side-by-side
) - and to be fair there's no shame in this if you're not being paid to address any needs beyond you or your company.
Where I find Linux/Unix more valuable is that there's usually some library or command line utility (like ImageMagik or ffmpeg) that you can use from the command line or in scripts to get stuff done in bulk. But again, MacOS has all of that covered. Even some stuff I'm putting together in lovingly-hand-crafted C for a Raspberry Pi can be primarily developed & tested on MacOS with only minor code differences.
I
might have been tempted to go to Linux (or Windows + Linux subsystem) to get more hardware choices if Apple had continued making what were basically fancy PC clones at premium prices. With Apple Silicon, though, while they haven't got cheaper or more expandable, they are at least making
unique hardware again - the only real desktop/full laptop class ARM systems on the market - and even the non-expandability comes with advantages (e.g. unified memory with LPDDR RAM and embedded GPUs with serious performance).