> After using both, I honestly don't understand why devs use MacOS over Linux (my favorite: ZorinOS).
The simple answer is both Apple hardware and software support is well defined and is the gold standard.
Linux Desktop software support on the other hand is ill defined and even if the hardware claims to have support, it somewhat worse than macOS or even Windows thanks to the inconsistency of the Linux desktop stack letting it down.
This has been an eternal problem with the Linux desktop, and at this point you might as well use Windows with WSL2, since that is the best 'Linux Desktop'.
> After using both, I honestly don't understand why devs use MacOS over Linux (my favorite: ZorinOS).
Why I use it: I just never had any good hardware for a linux laptop and I hate to tinker with configuration. There's always things that work so-so with linux laptops. Macbook gives good hardware, excellent system integration and I like the defaults out of the box. None of the things you listed have importance for me.
I would probably use a linux distro on a desktop machine though.
Linux is great to revive old macbooks that are no longer supported by Apple though. Linux mint on 10 years macbooks works great.
> I honestly don't understand why devs use MacOS over Linux
For me it all comes down to the touchpad experience. Excellent on Macs, shitty on Linux laptops (and it's not just shitty touchpad hardware, but the combination of hardware and driver).
Most of your other points are just the regular differences between systems. If you're used to one, it's hard to get used to another (personally I like working on macOS more than Windows or Linux, and I need to switch regularly between all three).
> After using both, I honestly don't understand why devs use MacOS over Linux
I have used Linux as my main driver on all my desktops and laptops between 1999 and 2021 until I migrated to Macbook Pro.
The simple reason is that maintaining basic operating system to do the basic things it should be doing should not be taking so much of my time. I am sick and tired of fixing another audio, wifi or power usage issue because package maintainers decided they have a different idea or spend time fixing my graphics driver every couple of months at the most inopportune time. I need to be able to open my laptop and reliably be able to continue with my work, is that so much to ask for?
So I switched to MacOS and for now I could not be happier. Setting up some things is as frustrating as it has always been for me but at least once I do it it tends to keep working.
> why use a mac when WSL2 is out and Linux desktops are getting traction?
This is applicable only for devs. Mac is not going anywhere for people in a lot of industries - writers, photographers, business, smb etc. WSL changes nothing for them and Linux was not in consideration anyways.
Even for devs, I can argue that Mac/Windows are preferable over Linux. Don't get me wrong, I love Linux but only on the server. Using Mac/Windows adds significant QoL improvements which are just not there on Linux.
- Hidpi support is spotty (its getting better but still a bit spotty)
- Smooth scrolling in applications is inconsistent at best
- The keyboard shortcuts for moving the text cursor around are inconsistent between programs
- Hardware support is much more of a crap shoot. Linux has a harder job than macos in trying to support every combination of janky hardware out there. But as a user, I don't really care. I just know that if I buy a mac, the OS will work perfectly with the hardware on offer. That isn't true on linux.
- Lots of useful software isn't available on linux. Eg, I love Monodraw, but thats macos only.
- App distribution on Linux is a mess. Apt? RPM? Snap? Flatpack? Etc etc. I have 2 copies of discord installed for some reason, and I have no idea what the difference is between them.
Etcetera..
Linux gives you the choice and freedom to spend an unlimited number of hours customizing everything. With linux I'm in complete control and I love that. On macos, things usually just work out of the box. I love that too.
No OS is perfect. There's tradeoffs with everything. If you don't understand other people's preferences, that doesn't make you right. It makes you ignorant.
>I honestly don't understand why devs use MacOS over Linux
I turn the lid down on my laptop and it goes to sleep. It pull it up and the system comes back up. Reliably. Every single time.
I guess that narrows my choices down to Windows and MacOS. Between them I find it much harder to choose, but Macs just have a solid lead on the hardware front for now. The M1/M2 chips are just chef's kiss. And I don't know why most Windows laptops come with such junk webcams.
Edit: I almost forgot! Linux still doesn't have hardware accelerated video playback on browsers. How can anybody recommend using linux on their laptop despite this is beyond me. Is this a joke? Like do you guys just always keep your laptops plugged in all day? Why not just get a desktop at that point?
> Both Windows and macOS are good, the Linux desktop in 2022 however is just woeful.
[ ...one comment later... ]
> 1 anecdote from 1 user isn't remotely sufficient evidence.
I hope I don't need to point out the hypocrisy here.
I'd also tear apart the idea that MacOS/Windows present "one target" to build for, but I don't need to. You already concede that WSL2 is needed to make Windows a viable development environment, at which point you can cut out Windows altogether and just use the development environment side of things. Same goes for MacOS, if you're only relying on the development toolchain, then there's no reason to use the poorly-supported Darwin kernel in the first place. Linux is a terrible desktop, but as an operating system it's purely magnificent. It's become the industry standard for good reason.
> The only two reasons to use Windows or Mac are:
- your workplace / school requires it because of specific software
- you want to play games with absolutely no issues
Have you ever met someone who preferred Windows or Mac? I know many, many software engineers who prefer Windows or Mac as their daily driver AND development machine.
Believe it or not, there are people who develop apps for iOS. They use macOS, and frankly the experience is pretty great. There are also people who develop apps for Windows. This, of course, is possible on Linux. However again, the experience on Windows is pretty great too.
With macOS in particular, although I hate to say it, their unified ecosystem is the best available. Nothing comes close to macOS/iPadOS/iOS/watchOS/tvOS integration that works with all of their apps seamlessly.
Sure, I prefer Linux for _some_ software development, however for a daily driver macOS has a lot of advantages that Linux currently can't offer. The open-source ecosystem still has a ways to go in man regards, and it has its fair share of problems.
> Use actual Linux, WSL should only be considered if you actually need Windows to be your daily driver, which I doubt. It's just an added layer of confusion and you'll end up confused as to where Windows ends and Linux begins.
This statement leads me to believe that you haven't tried WSL, or perhaps that you only tried a very very early beta stage.
> I'm having significantly less problems with Windows then MacOS.
I'm interested.. What kind of problems?
> But Windows and MacOS both give me more problems then a FreeBSD or Linux box ever has.
I switched from linux on the desktop to MacOs precisely because of the problems linux had - driver support, even LTS updates breaking functionality, and overall clunkiness. I run linux on all my servers.
> Also, programming environment is just so much nicer IMO on mac.
Really? I had a Mac for a few years, but I found that I didn't like the environment as much as either Windows or Linux. A lot of programming environments work best on a Linux-like environment and don't do so well on something BSD-like (such as MacOS). There's a lot of open source software that only works on Windows and Linux, too... MacOS has such a small market share that many open source developers just ignore it.
> ...how do they compare in terms of UI/UX, app support, responsiveness and overall feel?
When you put it in terms of those requirements between macOS and any other Linux distro, there is no such comparison because of the level of UI/UX consistency that macOS has over any Linux distro is not even close.
For a Linux distro to achieve this macOS-like consistency, they must have some sort of unified SDK for GUI development or a standard desktop stack for developers to work against. The difficulty here is that the nature of the Linux ecosystem is that the users are free to swap-in/out alternative system components. That's a blessing of freedom for its power-users and a curse for some developers. To some extent, macOS does both but limits which parts of its system can be swapped.
This consistency even goes further into the hardware for MacBook users but that would be even more unfair as a comparison.
> Linux is more appealing and almost worth it for the speedy file access, but is too time-consuming for me to to commit to.
I hear a variation of this semi-often and I never quite get what that's supposed to mean. Maybe being a full-time Linux user for a decade has made me used to whatever people are complaining about, but I don't think so, people are complaining about having to fix broken HW/SW occasionally, however as someone who:
- Picks Linux-supported hardware specifically, as opposed to a random, generic PC, (something you wouldn't do with macOS either, btw).
- Runs a rolling release distro, so if anything should experience more breakage than the regular Ubuntu LTS/Fedora user.
I can honestly say that my workflow is basically:
-> Turn the laptop on, (or wake from sleep, yes that works well on solid HW)
-> Get my work done
-> Update the system every couple of days, (rolling release updates)
-> Repeat
Now does occasionally some package update their config that I'll have to merge or something like that? Sure, maybe once or twice a year.
When I do have to use macOS for builds, I experience glitches, (like the login bar loading and never finishing), various annoying updates, (& update prompts), apps, (like Duet Display), randomly breaking when you need them, occasional kernel panics, (but more frequent than I ever had on Linux, in fact I had one on Linux maybe once), choppy performance even on a top spec 2016 MBP due to poor thermals, video rendering issues when switchable graphics is enabled etc.
All in all, my macOS experience is actually somewhat worse than on Linux. It's nothing I can't deal with, but it's nowhere near as trouble free as people make it seem.
I honestly think it comes down to things like macOS being more animated by default, having 3D shadows under every window, the dock enlarging the icons as you scroll pass them, your coworkers having a Mac as a status symbol etc. rather than some big technical hurdle.
> Most users want to boot up their machine and get to work. Linux can absolutely do this, but if a user hits a minor snag, then I guarantee they will have more difficulty fixing it compared to an issue found in macOS.
You use mac so you find it easier to fix macproblems. I use Linux and find it easier to fix Linux problems.
> Design is important. The user experience will make or break an operating system.
Not really. Just look at windows. I press the windows key, type reboot and it gives me a link for the movie ReBoot. The Windows design is a joke. There must be something else going on, OP.
> Another advantage macOS has over most other Linux desktops is tailored hardware.
Tailored to be bad I guess. My coworker with a mac can't run more than 1 external screen or 8k graphics. Couldn't pair to her sony headphones either. No such problems on Linux.
> This might be a controversial opinion, but I find developers flocking to macOS really bewildering.
You’re entitled to your opinion, but it is a good platform to work on. A real UNIX underneath, with a great GUI on top. Most things that run on Linux a recompile away from working natively, and still native versions of Office and such.
> This Lima thing
It is a VM to run Linux. How is that a demonstration that the OS is hostile?
> docker running in a virtual machine
This hasn’t much to do with the OS. OTOH if you want Linux containers, then I don’t see how you can avoid using a VM somewhere.
> Apple being actively hostile with the default coreutils requiring you to layer multiple third party tools just to get a modern version of awk and grep.
The versions of the GNU tools are ancient because they are pre-GPLv3. The BSD tools are more up to date. In any case, you can just do what you’d do on Linux and use a package manager.
> I Just recently I learned you can't add more swap ( creating a swap file and adding it ). That seems incredible to me.
What is the use case for this? The OS just adds some swap by himself, no need to mess around
Linux tooling support is still very important to me. I want to be able to enjoy Konsole and Sublime text.
Windows Subsystem for Linux is getting there, but I don't think it's as advanced as ChromeOS' yet. Besides, I don't like the Metro interface and Windows 10 in general.
Mac means tying to Apple hardware. Apple hardware means crappy keyboard, heavy laptop, and no touch screen.
There's absolutely no way to make Linux work the same way as macOS, simply because they do things differently by design. If you try, you're going to waste countless hours, have a horrible time, and at the most only make Linux slightly resemble macOS in terms of the experience.
I actually find that in terms of UX, Linux is a lot more similar to Windows than it is to macOS.
For me, what I missed of macOS when I tried out Linux was the easy shortcuts, easy access to special characters (accented letters, etc. without the compose key), the focus on drag-and-drop to do things, the quality of the look & feel of most apps, and most importantly the consistency that macOS has. There is of course no way to make all Linux developers stick to the exact same guidelines, but I had a feeling on Linux that every time I installed an app, I had to relearn a lot of things. Shortcuts and other conventions are always the same on macOS, on Linux they change alongside many interface elements, down to the windows controls.
In general though, I had a better time when I embraced how Linux does things, rather than try to recreate my macOS workflow.
Ultimately, I have no interest in wasting hours and hours configuring and fixing things up, just so that I have freedom with the software on my computer. I don't like many decisions that Apple has taken lately, and don't especially like how expensive and outdated their hardware is, but my hourly rate is pretty good, and with the money I make from gained (or not lost) productivity because things just work I can buy not one, but probably 10 MacBook Pros, and save myself a lot of frustration. I can then have freedom not from using open source software, but because I'm done working and I can go grab a beer with my friends or girlfriend instead of staying home configuring X.org.
> They left Linux because they want stability and portability so they jumped to macOS? I don't understand.
Which bit don’t you understand? macOS is stable with fantastic professional QA and support, and it lets you run more cross-platform ported software than Linux does.
> Linux support is likely much more important to Mac users, likely by a large margin
I very much doubt that. Maybe for the HN crowd of web developers, but for normal users, embedded/desktop developers, basically everyone else, Windows is more important.
The simple answer is both Apple hardware and software support is well defined and is the gold standard.
Linux Desktop software support on the other hand is ill defined and even if the hardware claims to have support, it somewhat worse than macOS or even Windows thanks to the inconsistency of the Linux desktop stack letting it down.
This has been an eternal problem with the Linux desktop, and at this point you might as well use Windows with WSL2, since that is the best 'Linux Desktop'.
reply