I've spent zero days, zero hours, zero minutes, and zero seconds fiddling with setting anything up in macOSX over the last 15 years.
I manage a bunch of Linux systems, from laptops to desktop to servers, and over the last 15 years I've probably spent months of my life setting up stuff that should have just worked.
I use a mac at home and as my dev machine, because I charge quite a bit of money for doing that for Linux, and I don't want to throw my own money like that during my free time.
> Itunes, Mail, etc, none of the software shipping with MacOS is actually any good.
I use many Microsoft Office Apps, Adobe suite apps (mainly photoshop, lightroom and illustrator), and all of them just work.
VNC clients, VPN clients, Samba, they all just work. External devices, no issues. Do I want to stream my display over wifi to my television, or my audio to the stereo? Just one click away. Do I want to restore the back up of one directory from 2 years ago ? Its three clicks away.
On Linux, half the steps to each of these things are filled with hours and hours of research in the Arch wiki. Do you want to stream your monitor to your TV? Start by setting up a media server, and then 200 steps. Do you want to restore a partial backup of some folder in a BTRFs drive, a dozen steps that I cannot remember. Like no way. I don't want to remember how to do these things, and I don't want to have to look it up. If nobody is paying me to do these things it should be completely obvious how to do them and it should just work.
But hey, do convince your employers to use Linux everywhere, its great for the business.
In many way *nix is still stuck in 1983 because it's a craftsman's platform, which is why there 10,000 distros, oops 10,001, no 10,002, oh 10,003, ugh! Linux is great on servers, because all servers require craftsman for the care and feeding, and Linux is so much better than Windows in that regard.
I gave up my Linux machines because I'm no longer interested in being my own sys admin. Frankly I was done being my own sys admin back in the 90's but I felt the need to keep my propeller spinning, and stay true to my geek roots.
In 2008 I bought a Mac Pro 8 core machine, and that's still kicking, my son uses it for Machine Learning as part of his graduate program, and it's just as fast now as when I first bought it. It was left behind with the last OS upgrade, but it will work just fine for another 4 or 5 years on the old OS.
In 2009 I still had a Linux laptop, but it was painful back then. With SnowLeopard it became easier to create an maintain a Hackintosh then it was to manage a Linux laptop I was off Linux for good.
For a hobbyist(craftsman) Linux is great, for a server that needs craftsman, Linux is great, for a consumer, buy a Mac.
My reason for giving up was reaching the conclusion that Linux distributions would never replicate the expectations of an Amiga/BeOS like experience for those that care about multimedia.
The Linux experience depends on the distribution, software and hardware you choose. You need to choose carefully.
So here’s the interesting part; can you recommend a distro that is universally the right choice for dev work?
If yes, please tell - I’d love to know!
If the answer is “well it depends a lot on your needs” that’s kinda the point of MacOS right? The fact that making the right distro choice requires serious thought is already problematic (hypothetically)
I have to say that I 100% do not believe this statement.
You mean you you've never used any wireless connections to your machine? You've never had to set up backups or change audio settings? You've never had to deal with setting up one thing in 15 years? Since when did OSX gain the ability to read minds?
You seem to confuse using the machine with setting up.
Connecting a wireless connection (picking the SSID, entering the password, etc) is not "setting up". It's merely regularly using the computer.
The setting up we'd rather avoid, and that the parent talks about, would be tinkering to get your wifi chip working with your OS -- which you get the "pleasure" to do on Linux...
I was glad to return to Windows when the Linux-specific issue was solved.
When it hangs, it finally exits with an error message saying it couldn't mount /boot/efi. Once I log in I can see that /boot/efi is mounted fine.
A bunch of my applications hang all the time for reasons I couldn't figure out. Turns out they were trying to communicate with my Gnome keychain over D-Bus, but they were in a separate D-Bus session so they just sent their D-Bus message and then waited for however long until they gave up. No idea at what point this started happening or why, but I never did figure out how to fix it (other than disabling those apps from being able to store passwords securely).
If I used the Intel drivers for my Intel GPU I got extreme stuttering and tearing, which only went away when I uninstalled the Intel drivers entirely so that it would use the "correct" drivers.
Then there's snaps. I install stuff and sometimes it's a package, and sometimes it's a snap. If it's a snap, everything turns into a giant mess. I had Firefox saving its downloads to Skype's workspace for some reason, multiple Firefox profiles on my system in various places, multiple versions of Firefox running when snapd downloaded a new version and symlinked it to be the default, two copies of Telegram for some reason and no obvious way to tell which was which, a snap and non-snap version of things because the Store installed the snap but another package depended on the apt package, and so on.
I installed my system on btrfs because "it's like a decade old now, it should be fine right?" and within a month my filesystem had been completely corrupted and I had to reinstall entirely (though I managed to salvage most of my home directory at least).
This is all stuff I'm willing to tolerate to some extent, but I can't think of a single thing that Linux offers me that makes it worth all this hassle. At my last job, I happily used a MacBook for nine straight years, and I never lost an entire day of productivity just because suddenly my system won't boot, or dealt with graphical glitches in every app because the driver for my video card isn't the right driver for my video card, or lost data because one of the default options for installation filesystem is unstable and unreliable.
I've never had to do much of anything to "tweak" MacOS unless I wanted to; on Ubuntu, I have to do it almost every day to get something working well (or at all).
So I'm gonna go ahead and say that yeah, MacOS isn't even remotely dead, and it's certainly not going to lose to Linux any time soon.
> You mean you you've never used any wireless connections to your machine?
Yes: I clicked on the network, typed the password, and it worked, always. If the machine already has seen the network, i don't even have to click, it just connects. If one of my machines (e.g. my iphone) has seen the network, the network and its credentials are stored on iCloud, so my laptop and my tablet can just connect to it. I never had to google how this works, never had to install anything to make this work, never had to change any configuration file to make this work, etc.. Same for VPNs, VNCs, corporate networks, network drives, etc.
> You've never had to set up backups or change audio settings?
Yes, I clicked on enable backups, clicked on the box that enables daily back ups, clicked on the drive where I wanted to store them, and it worked, always.
I can restore, browse, partially restore, backups with one click using time machine. I never had to google how this works. It always worked.
> change audio settings?
Yes, I clicked on the audio button, and volume worked, muting worked, all 4 sound outputs worked, always worked, etc.
---
On linux, over the last 15 years, i have googled at least for days to do _each_ of these things for customers:
- can't connect to a particular wlan, corporate wlan, etc. needed new drivers, upgrade kernel, change some etc config to enable something, etc. Same for network drives, cloud drives, SMB, ...
- sound, damn sound: sound cards not being detected (hell on my lenovo yoga an update to 19.04 Ubuntu pushed a kernel patch that broke my sound cards driver: no sound card detected, still not fixed on Ubuntu 20.04 5 months later - no sound in the times of corona and web meetings - great!), alsamixer, etc files, pulse audio, .... I have had to google a lot about each of these things, and fiddle a lot over the last 15 years, on dozens of machines, for dozens of users, for hours.
- backups, on Linux, have fun. I've set backups for ext4, zfs, and btrfs. ALWAYS had to google for hours. Every time I had to restore a backup, had to google for hours. Some times restoring did not work. Some times backups did not work. Encrypted backups do not work out of the box (Apple's full-disk encryption is enabled by default - but enabling it and having work with everything is just 1 click - on Linux full-disk encryption is a mess).
---
So no, I never had to set up anything on MacOS X in the last 15 years. The things were in the obvious place, and I just used them, and they just worked. No need to even google how to do the thing, or what to install to get it done, or configure the install, or read bug reports to work around issues, nothing. They just damn worked, as they should.
Its 2020, and setting things for companies using Linux is my day job. These people would all save a ton of money by just using macs or windows machines. The amount of time their employees waste on setting up and maintaining their machines instead of doing their actual work is astonishing.
At this point I'll probably switch to Linux as soon as my 2015 Macbook stops working, but I would've really liked to stay with Apple.
It always surprises me when people cite homebrew as a plus rather than a minus in these discussions. Compared to the experience I have with Linux package managers, I've found homebrew to be extraordinarily slow even at the best of times. A simple "brew update" will generally take at least 30 seconds; in that time on something like pacman, I'll usually not only have already finished fetching the list of updates but also actually performing the upgrades, and that's updating my entire system, not just a few userspace packages that I have installed. I can understand that some people prefer MacOS and I don't think they're wrong for doing so, but it's hard for me to believe that someone has given Linux a fair shot when they cite package management as something that Macias does better.
MacPorts is well worth a spin if you're on a Mac and have trouble with Homebrew. I switched sometime last year and am very happy. I think I've actually been using it more because I know it's not going to be a pain every time.
The biggest argument at the beginning for Homebrew over MacPorts was binary distribution and now MacPorts has that and can still compile custom versions if necessary.
MacPorts is always the first thing I install on a new Mac and has been for over 15 years. The several times I've seriously tried Homebrew, I get frustrated (terrible jargon, missing packages, spewing files all over my system, lax security) and go back to MP.
I'm up for giving MacPorts a go. But is there a pain-free way to transition between Homebrew and MacPorts, without having to reinstall everything over again? I've installed a load of stuff with Homebrew, over the years and don't fancy having to pick through it all again to try and remember what I installed and why.
If you're using Pacman (and presumably Arch or some derivative), that might explain your better experience on Linux. You're on a rolling distro so you get up to date packages (and I believe AUR gets things even quicker).
Homebrew is much closer to that rolling always-up-to-date (within a day or two usually) experience than Apt or Yum on Debian/Ubuntu/Fedora (most people's linux experience), where you have a choice between packages that are 3-6 months out of date or hunting around on the web for a 3rd-party repository to add which contains more up to date packages.
Homebrew can be slow. But the fact that I can `brew install X` or `brew upgrade X` and get on with something else while it's doing it's thing means it doesn't generally take up much of my time.
It still has a centralized list of the versions of the packages it supports (on github) though, right? I feel like it should be able to get this list with a single HTTP request to the Github API; I don't see why having a faster or slower schedule to update the packages should affect how long it takes to actually download the list of updated packages with `brew update`.
This is subjective. I think the MacOS UI looks and acts like a toy. My Linux machine has a solarised theme (I can toggle light/dark) with minimal window borders (i3, polybar). I think it's much more tasteful than MacOS. GNOME looks better too and it's themeable, unlike MacOS. But this is all of course just my opinion.
Same for GNU/Linux if you choose the hardware for it (or buy preinstalled).
What I do agree with is that on day one support might not be as good for new types of hardware (especially for more niche hardware like a fingerprint reader for example). Even that has improved a lot over the years though.
Thinkpads usually work really well out of the box (even the nipple mouse works without a hitch).
I have plenty of horror stories about other computers though. Usually involving being deep in some page tree on a company's website that they don't seem to have actually expected anyone to go to, trying to figure out which specific vendor id maps to the actual hardware I have.
I've been maintaining a Fedora desktop installed 8 years ago without a snag, updating every year or so as time permit. Not a single problem.
... until Apple decides to break an API and not provide equivalent functionality, and then you end up with a perfectly functional soft-bricked paperweight. I can't use my external USB monitor because of this.
In 2016, after getting tired of various hardware bits never working just right on Linux, I gave up and tried someone else's hardware. It was amazing that everything just worked with Linux. I didn't have to fight with bleeding-edge, just-reverse-engineered drivers. I didn't have to wonder if the laptop was going to wake up again after being put to sleep. But I chose somewhat poorly: the hardware I chose was decent, but rough. The battery expanded to the point where it warped the case, which caused the keyboard illumination to intermittently not work, and eventually made the touchpad impossible to use.
So I gave up in 2018 and got a MacBook Pro again, though it was a secondhand 2016 model. Once I installed Linux, I found that the keyboard and touchpad didn't work, and I had to build an out-of-tree driver for it, ditto for the WiFi. After that I found that audio and suspend-to-RAM didn't work. It turns out I was "lucky" that I had an older model; the keyboard and mouse setup in the 2017 and 2018 models hadn't been reverse engineered yet and didn't work at all.
In 2019 I got fed up with having to use the USB-C headphone adapter from my Pixel in order to hear sound, and to remember to shut my laptop down completely if I was going to be away from AC power for more than a few hours. I again left the Apple hardware world. It's not perfect, but again I marvel at how everything just works (with Linux) without tweaking. I hear so many colleagues complain about various inexplicable broken things on macOS all the time, and I think I've gotten the better deal.
Is Linux as polished as macOS? Of course not. I agree with you that the graphics aren't as smooth, font rendering isn't as good (though this is debatable; personally I find Linux rendering to be more crisp and readable than macOS), HiDPI support varies depending on what toolkit any given app was written with. But it works well enough. I think one of the biggest problems that has kept (and will continue to keep) Linux from going mainstream is that even though for the most part it works just fine, when it does break, it breaks spectacularly to the point that you need specialized knowledge to fix it. Fortunately I have that specialized knowledge, so I'm fine, but your average home user does not.
I don't have to deal with Apple's keyboard design issues, random WiFi failures (yes, it is incredibly funny to me to find that Linux WiFi can work better than macOS), Apple's overzealous "system integrity protection", or Apple in general deciding they know better than I do as to how I want to use my computer. It makes me happy, and I feel productive.
It is hostile platform, it should be rough. I use 14" Dell Latitude - no problems at all, beautiful machine. Probably would stay on it or try Asus ZenBook.
I have a Dell XPS 13 now, and while I like it, it's just not as pretty as a MBP. I recognize that that's a highly subjective judgment, but that's a thing that matters to me. The XPS's build quality is good, but not amazing; for example, I've had it for less than a year, and one of the rubber strips on the bottom of the laptop has been peeling off for the last few months.
Overall it just makes me sad that "hostile platform" is even a thing. At this point I've decided that the alternatives are good enough for me, and the better hardware support tips the scales in favor of them.
2) macOS is not a cloud OS. It certainly can be a portal to the cloud quite easily, via terminal, iterm2, ssh/mosh, VNC etc. But you know that already.
You can also run VMs, KVM, docker et al on it as well.
- HoudahSpot (search files / documents)
- DEVONthink (document management system)
- Ulysses app (a markdown writing app; I know there are many, on many platforms)
- iA Writer (another markdown writer)
- Alfred App (automating)
- Keyboard Maestro (automating)
- AppleScript (automating)
- MailMate
- Things3 (task management)
- OmniOutliner
- OmniFocus
- OmniGraffle
- PDF Expert (reading / annotating pdfs)
- iTerm
- aText (text macros)
- Timing App (auto time tracking)
and many more.
Many of those apps have their equivalents in the Linux / Windows world, but their Mac pendents are imho much better.
Finally, it's the overall experience. Everyting is streamlined, everything works across iDevices, everything (mostly) works. I can't say it in a few sentences. Sitting in front of this machine, coding, writing, listening to music, that's a joy. I didn't have this feeling with a Windows machine (was a Windows and Ubuntu user until 2015).
The UX, UI and 'feel' is what makes people use one thing over another. Unless you can replicate that, or can do better, nobody's getting swayed either way (and that's fine, do what you want).
There is no objective 'my pc is better than your pc' because you're not the same person as the one you'd be attempting to compare against.
Better hardware and better drivers are useless arguments if someone wants to go to a shop, take a device home, plop it down and do some work. None of the betterness of the other stuff is going to undo the work, or undo the experience.
It's like telling someone their 24-pack of toilet paper is stupid because your shipping container full of toilet paper is cheaper and you have more than they have. (especially when all they wanted to do was wipe their butt)
Say you have two options, same price, different vendor. And the main difference (for the sake of the argument) is that one comes with a mobile i5 and the other one with a mobile i7. Technically the price-to-performance ratio is better for the i7 model. But the driver for me to buy any device at all is wether the device can do the task I need it to do. If the i5 does the task the same way the i7 does the task, what is the extra value that the i7 supposedly brings?
Often people will make a 'what if' argument here, because "what if you need to do something different" sounds like a nice argument to get more than what you need. In reality, I don't often see anyone changing their tasks mid-lifecycle and then have a sudden requirements change. It hasn't happend for me at all.
The same parallel can be made with cargo capacity of a vehicle; technically every Lamborghini ever is a stupid choice because you can't move your furniture with it. Or every Fiat Panda is stupid because you can't drive at 200 Km/h speeds. Make it more absurd: every boat is stupid because it doesn't fly like a rocket.
This is probably my biggest complaint with macOS.
I'm still shocked by the inability to disable inertia scrolling on a usb mouse, as well as acceleration.
These things were removed on purpose.
If you use a macbook with usb devices, there are all sorts of oddities. It's annoying. I can use it, it's just not for a power user. For me, power user means "configure it", shape it to maximize your workflow speed.
MacOS is just not that. With linux there is a lot more flexibility.
I don't care too much about eye-candiness, I want my UI to be incredibly fast. MacOS has those damn animations when switching spaces that is annoying to say the least (I switch spaces very often)
For all the negative replies I wonder how many people actually have used Keychain. It's very good. I tried onePassword, google's, and firefox's, but none integrates as well among all my devices and with zero effort in the OS as keychain. Anyone leaving negative comments about keychain, at least point out that you've given it the ol' try in the Apple Ecosystem.
Or we have different assumptions and you have devices outside the Apple ecosystem or don't want to be tied to it therefore the benefits I see to keychain don't apply to you.
Also the WWDC yesterday has some cool new features about bad passwords (But I think other password managers already do this).
(Not affiliated with it, just a pretty happy (free) user!)
Does it actually work the same as Mobile Safari's interface on iOS? Automatically presenting options both for creating and autofilling passwords on webpages? (If it can do that in iOS Firefox, I might consider it...I've been using desktop Firefox for a while because of some bizarre idiosyncratic issues I have with Safari on my laptop, that I can't reproduce anywhere else, but are extremely irritating where they do happen...)
A big benefit of switching to Bitwarden is that you can also get it up and running on non-Apple machines. Kicking myself for not doing it earlier.
Just be aware that bulk exporting your passwords from iCloud Keychain is non-trivial.
If you create a Netflix account on your desktop in Chrome, it can generate a password for you, or auto-grab whatever password you typed in, and will autofill that password when you open the Netflix app on your phone. (Based on a built-in association between "netflix.com" and the Netflix android app.)
Super handy feature when you get a new mobile device and need to get logged in to all your apps for the first time.
Yeah, keep telling yourself that. They are a part of PRISM.
Internal quality control for macOS and built-in Apple apps has fallen off a cliff in recent times. Catalina has been disastrous in that regard. Having used Macs since OS/X Leopard, I’m not jumping to Big Sur. I switched from Windows because it was a buggy, hot mess. I’m not hanging around and risking my work as macOS quality control keeps falling. Apple’s developers have lost my trust.
As long as your standard is low, sure. Scanning with Image Capture results in needlessly large files and it has turned to be quite a piece of crap. Moved my scanning pipeline back to Linux, and now, I've got text recognition for free !
AFAIK, windows and linux still don't have suctions tool that can backup/restore without pain.
Less cohesion, competing GUI libs/configuration systems/etc, still not 100% GPU support, the Wayland situation, almost non-existent multimedia (video, audio) options (not to mention support for peripherals like audio interfaces), and being at the worse than Apple's arbitrary mercy of your favourite desktop environment programmers (e.g. abrupt transitions and bizarro decisions in Gnome and KDE major versions).
I'm a graphics engineer so I'm not sure I understand this argument. When I talk about weaker and worse-performing hardware options and drivers on Mac, I'm referring _mainly_ to GPUs.
> Non-existent multimedia (video, audio) options
This... is simply not true (?)
Also, regarding Gnome/KDE, I dislike both and don't use either. Something like i3 with zero-to-know configuration is already pretty great out of the box.
And when I talk about weaker support for GPUs on Linux, I mean the Wayland / compositor situation, getting 3D to work without planning what specific model of laptop to buy to use with what specific distro, and so on...
>This... is simply not true (?)
This is simply true. It can't run Cubase, Logic (ok, that's expected), Pro Tools, Studio One, Reason, FL Studio, Maschine, and tons of other things besides. Your best bet is some niche players like BitWig and Traktion, or crossing your fingers with Wine... And let's not get started for drivers for professional audio interfaces and peripherals...
Same for NLEs...
> (seriously, safari is the new internet explorer).
I'm not sure what this is supposed to mean. Safari is holding back the web because despite its monopoly on users it doesn't support new technologies? That's not true at all. Especially because it's got such a small market share, it should be up to them to deliver what they feel makes the most sense, and let the market decide the rest (though sadly the market seems to keep using Chrome, which is terrible).
Honest question though: as a Safari user almost exclusively for the past 15 years, what I missing out on that I could have experienced if Safari had supported WebGL2? I don't know that I've encountered any sites or use cases where Safari was holding me back in that regard, but I'm curious to know what was out there that I couldn't see before.
> Itunes, Mail, etc, none of the software shipping with MacOS is actually any good. I
It's better than the open source stuff on Linux. While it has gotten much better over the years, it's still not good enough for normal people like my parents or my sisters who are not techies. That's just reality for now at least. It's pointless as to whether or not you agree with it.
The other benefits of Mac hardware (MagSafe for example) have all been removed leaving not-a-lot.
YMMV.
Our team, without any policy dictating daily development habits, has coalesced around Linux/Android development with iOS testing before release.
If it is a good react native app you won't know it is RN.
If you notice it, it is by definition poorly done. There are some things (e.g. specific animations, UI elements) that RN just isn't great at, the best way to avoid making a janky app is to avoid even trying to do those things.
Interestingly our team has gone the opposite way (again, no official policy). The deciding factor in our case has been the relative performance of Xcode/iOS Simulator vs Android Studio + Android Emulator. Android Studio on it's own slows my computer down more than Xcode compiling AND the iOS Simulator running at the same time. The Android emulator is all but unusable on my MacBook.
I agree there's a lot of painful bits around signing/release on iOS though.
Even with root, you can't touch /usr/bin. It took me way too long to try to figure out what was going on, and all the fixes were hacks.
If there really was an issue there then you either need to file a bug and have them mainline a fix, or yes hack/shim a fix on top for your needs. Perhaps leveraging PATH precedence.
Questioning the use case and insisting that one doesn't actually _want_ to do a thing instead of allowing the user to control their own system is the quintessential Apple experience.
However most people, including me, and I'd venture most engineers too, would rather have a hardened system.
Funny, that's a quote I hear a lot in Linux Desktop ecosystems as well. I think it is just the nature of people so accustomed to a certain way of thinking that any other use case that comes along is automatically considered to be doing it wrong.
If Linux is going to get attacked for not having a single GUI, it would be nice if it weren't also attacked for having a repressive GUI monoculture. /s
But more importantly, it's the question whose laptop it is. I continue to think that the tools I build go to /usr/bin, because that's the way I like it. Apple is telling me I'm liking it wrong.
As for filing a bug with Apple - good one. Every single Apple dev considers radr:// a black hole, and the chance of getting a fix from Apple because of bugs filed (vs. Apple wants to fix it anyways) is slim to none.
Overall, Macs are more and more machines that want to prevent shooting yourself in the foot, at the price of less flexibility and access. This is a good choice for some, it's not a good choice for me. (And many other people who like hacking their machines)
Yeah, but there's a certain expectation that the tool that you have installed in /usr/bin is a certain version. There's a reason why tools like Homebrew generally do not overwrite built-in tools.
If you just replaced /usr/bin/python with Python 3, you'd probably break all kinds of things.
macOS used to be "Unix, but with a great GUI". It is turning into "iOS, but with a few command line tools".
Because it's my computer that I paid for with my hard earned cash, and I want to.
How far we have fallen.
Yes, you can. If you disagree with Apple's System Integrity Protection, you can take two whole minutes of your life (if even up to that, considering how quickly OSes boot these days) to turn it off permanently and mount the entire drive as read-writeable. For some strange reason, though, I tend to encounter far more people complaining about it than actually taking the steps needed to fix the "problem".
Just install it with macports and you can use all the tools by prefixing it with a g - gls for ls, gdd for dd etc. Some of these tools are newer versions than on macOS and hence improved (as GPL3 prohibits Apple from including newer versions).
It was annoying that I couldn't do the basic things I expect to be able to do on a machine as root
Apple should roll their own package management tool or officially support homebrew.
Macports did it right, but "brew ..." is just a cooler catchier name.
It litterally comes down to that. The more fun name.
When someone is new and confused and overwhelmed, a slight difference like that, or the design of the website, or the charisma of the people talking on forum posts, is the tipping factor in which of the 11 possible things they try.
And as long as the first thing they tried worked, they keep doing it and quickly gain a rewarding feeling of accomplishment and confidense doing that thing.
At that point this is their home and their comfort. They aren't bothering with anything else when it doesn't seem to be any different. They conclude they chose wisely the first time (which is a good feeling that anyone can always simply decide to reward themself with, ie confirmation bias).
So, no one should have ever used homebrew. Homebrew "won" anyway, but not by being the better-architected more technically correct system with wiser engineers.
I forgive all the users for not realizing that the directions they are terrible and broken. There is no excuse for the developers writing that system.
So, your problem with homebrew, I say, the problem is homebrew not Apple.
I can't speak for anyone else, but I switched from MacPorts to Homebrew, after having previously switched from Fink to MacPorts many years ago despite not only being told but having actually experienced that Homebrew was slower and more fragile. And the reason was not "the more fun name." The reason was that both MacPorts and Fink were incredibly slow at expanding and updating their ports tree. Stuff that I knew from my Linux and FreeBSD days, or cool stuff that I read about on weblogs or in places like Slashdot and HN, was nearly always right there in a current or new-current version in Homebrew. That was rarely true of MacPorts: often it wasn't there at all, and if it was, it was often several minor or even a full major version behind.
This may have changed since then -- I hope it has, since I suspect it's been over a decade at this point -- but IIRC, the last straw was trying to install the terminal version of a program (either Emacs or Vim, I think) that also had a GUI version available and, after going to make coffee and coming back to the computer, discovering MacPorts (a) didn't care that I had explicitly asked for the terminal version, it was going to install the GUI version for me anyway, and (b) because of MacPorts' aggressive "never depend on the system version of anything no way no how", it was building a new version of the entire bleeping XFree86 from source for me. Yes, I understand why MacPorts takes that "no system dependencies" approach; yes, I get that was probably a badly-specified port file. But I ripped it out and never looked back.
Well, I take that back. I think I looked back once, about four years ago, to see if everything that I had installed under Homebrew on a machine could be installed with MacPorts, because maybe it was time to give it another chance. The answer was no, everything could not be installed. So the answer was no, it was not time to go back.
I don't care that Homebrew has a fun name. I care that it has the stuff that I want kept reasonably current with upstream versions. Homebrew has, as far as I can tell, gotten a lot better over the years at not being fragile. It's still no speed demon, but the truth is that I don't actually run it that often. If a more native macOS package for a given piece of software is available, I'll install that in preference.
I just plugged an extra ssd into my my old thinkpad yesterday. My boot volume is mSata. The hard drive hole was empty, and I added it with one screw. Now I have a vm storage pool. It now has more storage than my gf's mac, and it cost 1/6th as much.
I tried something similar with her computer yesterday. Plugged in a usb SATA ssd. ext4 isn't supported. alt-tab is broken. Using the touchpad for everything is mandatory because hotkeys are counter revolutionary I guess? GNU userland is there but like half of it is broken or fake, like fs/mtab aren’t real? The console clipboard doesn’t seem to work. All the apps are already running instances without a window or something? Is this supposed to be like a phone?
I just want it to fullscreen tmux and leave me alone, but I keep having to search the internet for the cutesy name of the GUI thing that is the only way to do <trivial task>. I could format the disk and put the data back after, but I'm now afraid file io in python will be even more fun than I am already having, so I go find another computer.
I keep trying to learn how to use a mac, but it's always so much harder than just using any other computer that is around that I just can't seem to make time. I find the UI willfully contrarian, and more alien than anything I have every used. I'm not trying to be an OS fanboy here, I know lot's of smart devs who say they like it. I want to "get it" but I just don't "get it". Discover-ability seems poor, especially as a user friendly tool for beginners, but the UI and locked down software eco-system seems so limiting for devs. Like, who is this for?
My gf told to stop trying to think and just click on things… She’s a modeler/dev and she hates her mac, but her employer won’t let her use linux anymore. None of this feels like a dev or “power user” experience. It feels like using Windows XP because the boss made me.
Is this like that thing Neal Stephenson said about the difference between "easy to learn" and "easy to use"? Like if I learn to use it properly I will start having "ah ha!" moments and become more productive?
EDIT: I really don't mean to be flippant! OP asked why people find it limiting. They seemed like they know what they're doing, and might be a dev, and lot's of devs use mac.
OP called it "the best of Unix combined with customer focus", which sounds great to me! I just don't understand what went wrong...
As for how the experience was for me, in terms of developer and power user, everything mac has from unix seemed a bit half way. It certainly surprised me repeatedly, finding some versions of core utilities to be older and not supporting flags here and there. But this was fine. Homebrew felt sluggish. But this too was fine. Then comes iOS development, and oh lord what a shit show. This was not fun, and the release process and signing, and all that.
I've reached the point in my professional life where I want things to work. I don't wish to struggle with technical limitations caused by politics and marketing decisions. Development on OSX feels that way. You can't virtualize the OS, and can't emulate an iPhone. You have to go through way too many hoops to do what should be simple.
So, I honestly, and for no inflammatory motivation, don't see why people like to work OSX. I understand that you wish to do so if you are limited by software and tools that restrict your choice, making it either that or Windows. And I dare say Windows is, in total, even worse.
For usability and ease of use, as an OS, for use with free software and otherwise software that exists for the platform, it's in my honest and in an effort to not be too biased or fanboy-y (again, I wouldn't push my fanboyism on my grandmother), simply easier. For a power user and again not limited by language or tech, there is no competition. None. I'd chose to work for a different company if it meant I didn't have to develop on OSX or Windows. Life is too short.
Linux changes expectations. Everything is possible, there should be package for that, deconstruct, throw away, replace, and most of the time someone already did it.
So much this. When I depend on proprietary stuff, the care and feeding of licenses and serial numbers and all that stuff never seems to end, and it's shackled to one computer or host name or MAC address or something like that, which changes faster than calvinball.
It's not even about money. Who has time for all that busywork?
If mac platform was freely redistributable and Linux was proprietary, I would switch to mac in a heartbeat even if I hated using it, just to protect my time from doing all that IT stuff :p