After 10 years of linux it took me 1 month with a macbook to decide that i just dont have the time to keep my linux running the way i want to, play the hardware lottery and fear every major update (or every update after a vacation with arch).
After 10 years of linux it took me 1 month with a macbook to decide that i just dont have the time to keep my linux running the way i want to, play the hardware lottery and fear every major update (or every update after a vacation with arch).
I just don't understand how you can possibly be productive with these things if you have to do anything out of the norm. It's like bureaucracy as an operating system.
I was given a MacBook pro at my last job and had to request a ThinkPad after a few weeks - the lack of function keys alone was enough to drive me mad, but countless issues with docker and even homebrew pushed me over the edge. For context, I _used_ to be a hardcore mac fanboy and did all my development work on it, but the macOS of today doesn't feel the same as the OSX of yesterday - at least not to me.
Linux desktop environments definitely still suck, and there's always some quirks with hardware but for the work related tasks once it's initially set up, it's always rock solid.
I don't like using anything OS- or package-manager-provided on my dev workstation for per-project development dependencies, since usually it's much less painful (sooner or later) to manage those with a special tool for that purpose, or to vendor them, or to pick some OS that you might not like for your workstation as your deployment target (Alpine, say, or a very vanilla stable Debian) and just use scriptedly-reproduceable VM or docker or whatever.
I do like rolling updates for my actual tools and programs that I, personally, use. Editors (code or otherwise—image, video, audio, document, whatever), multimedia programs, browsers, quality-of-life improvement tools, command-line tools that aren't build dependencies, that kind of thing. If I hit a bug, then see that it's fixed in the latest release, I want there to be a very good chance I can just update my packages and get the fix, no further effort required. Or at worst wait a day or two for the package to be updated, and get it that way. If I read that a tool has some functionality, and install it specifically for that functionality, I don't want to lose time wondering why the hell I don't see it in the program, only to realize that it's because Ubuntu's packages serve a version that dates to before that feature was added (real thing that's happened to me on Linux).
That's where LTS Linux distros end up being a bad fit for me, because I want most of the stuff I actually use to be newer than what's in the repos.
macOS with Brew is about as close to perfect (for me) as I've seen. Slow-paced and relatively-reliable major OS updates, but my tools and programs stay up-to-date, and I can install damn near anything though the package manager (the closest I've seen to being as good as Brew as far as likelihood of my asking it to install something without checking that it has it first, and that actually working nearly every time, including for closed-source software, is Gentoo's Portage). I wouldn't prefer to install a project-dependency (say, PostgreSQL) through my workstation package manager anyway, so I don't care that it's rolling, since if I need something pinned I'll be fetching it some other way.
Given how fragmented Linux's GUI desktop is, and the way so much of it blurs the line between system- and user-packages, I think it'd be very challenging for a Linux distro to deliver as clean an experience, if that's the workflow you prefer (as, I've discovered, I do).
For reference, I run Debian testing until it becomes stable, and then 4 months or so later I switch to the new testing release name. I get an up-to-date system (Debian stable has a reputation for being old and outdated almost at release day), but also skip the part where Debian testing has a lot of churn and possible breakage. The newstable->newtesting upgrade, even though it's a larger one, rarely causes problems, and happens once every two years.
I have been running the latest Thinkpad t14s with fedora 33 and it is perfect in almost every possible way compared to MacBook. I also have Thinkpad extreme gen2 with Nvidia card and I had nothing but trouble with it.
I've changed my laptop 4 times now in 5 years for different reasons, when I do so, there's only a couple of things to consider:
if I'm upgrading the HDD (for example when I made the jump from HDD to SSD or from my 2.5inch SSD to my M2 SSD currently) I need to clone the drive to my new storage, otherwise I only need to swap out my storage device from my old laptop to my new one.
With linux it just works I don't have to fiddle for my devices to be found, everything is just where I left it, the biggest change was when I went from an intel based PC to an AMD one, I only had to switch the display drivers after the fact (I knew because X crashed, I had to do this from tty), but it is expected since the display cards are totally different, all it took was a: sudo pacman -S xf86-video-amdgpu and a restart.
having a rolling release distro helps too, because you really don't have a reason to nuke your install and start from scratch, but even if I decided to do that for whatever reason, since most configuration is done via text files I can easily save those in a repo and just clone them to my new install and be done in a few minutes.
drwx------ 2 root root 16384 Dec 25 2016 /lost+found
^ that's when I last installed linux, I've been using the same install through 5 years in 4 different devices, it's pretty cool.
Of course I do my research before purchasing a new device, see if there's anything on the arch linux forums that's causing trouble with that particular device, but beyond that, it's all been good for quite a bit, I've never used another OS for this long without doing a hard format and performance hasn't suffered at all, I have almost every development environment available to me one command away (except for Xcode and some Windows specific stuff ofc).
but, my counterpoint is, I feel all OSs are decent enough nowadays and all provide good enough or better functionality OOTB, so for me it has become more subjective than anything, there are strengths and weaknesses to all of them, and I wouldn't be particularly bothered if I had to use one of them because of some requirement or something, but if the choice is mine, it's GNU/Linux
Like when a major macOS update bricks your computer and requires hardware repairs? https://en.wikipedia.org/wiki/MacOS_Big_Sur#Criticism