> 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
> I find developers flocking to macOS really bewildering. As a developer, why do you want to fight your operating system to get basic things done?
Haha! (I assume that was sarcasm. If not, you might want to look at the voluminous writings of humans who have had trouble getting standard modern laptop functionality working on linux, suspend to disk, battery life, hi res screens etc etc. Not you -- I mean mere mortals who don't want to change their OS's swap configuration)
> Everything I use MacOS for exists on Linux, too; why was I using MacOS?
So. MacOS wasn't for you, and you extrapolated it to "if you are on MacOS, it doesn't work". Well, it keeps working for me (and a great number of other developers)
For example, over the past 6 years across two jobs I haven't used Docker except for running some tests (bringing up and tearing down MySQL databases or using Google's pubsub emulator). So while it is slow, it hasn't been slow enough for me to care. I haven't had the need to mount NTFS drives. I havent' had the need to use Linux inside MacOS (and the few times I needed it in the past decade VirtualBox has been enough).
On the other hand... I needed to set up a Linux VM on a NAS to run a small family website I built in Elixir + Phoenix. I'm deifnitely rusty in Linux but ooh boy. Good luck getting a relatively recent release onto a system which insists that everything must come from a packge manager and installed via sudo for the entire system. Thank god for asdf, but it was still a pain and a half (because asdf builds everything from source and figuring out the names for the required libs is a masochistic sort of fun).
>On the contrary, I use macOS for what it is and the value of its development stack
OK, I get what you mean.
But "what it is" includes being a very usable Unix core that can run all kinds of stuff one might want.
So, like you, I don't expect macOS to be a GNU/Linux, or cater to tinkering and Linux/FOSS preferences. And I do my Linux-based development in Docker, remote VPS and servers, and so on.
But, on the other hand, I wouldn't carry two laptops, a "Linux" one for running postgres and redis and gnuplot, and a Mac one for running XCode and Instruments and Photoshop, out of some principle that Mac is Mac and Linux is Linux and "never the twain (use cases) shall meet".
> If development is your main use-case, MacOS will most certainly not work.
To quote Big Lebowski, "that's just, like, your opinion, man".
I've used MacOS for development since 2008. PHP, Erlang, JS/TS, Python, Java, C#... It certainly does work.
Almost every[1] dev conference you go to you see people on MacBooks (a tiny percentage running Linux on them). Often the majority of people will be on MacBooks.
> Most of the Mac devs I know are writing code in a Linux VM, these days.
I have the exact opposite experience.
[1] Well, it's an exaggeration and bias of course, but...
> 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.
> Every time I go back to macOS, I get frustrated with the inflexibility of it all. I get that it's a pain to feel like you have to customize everything to get something usable for you
It's great if macOS is what you want, or is close enough to it (which it is for many, many people).
I guess people's problem with Linux is that no amount of knob twiddling ever gets Linux's desktop and window manager close enough to what they want.
Personally, I want macOS to be my window manager, and I want Linux to be my dev environment/command line. I can't twiddle either to be close enough to the other, so I run Ubuntu in Parallels on macOS.
Now if macOS gained the equivalent of Windows Subsystem for Linux, I'd be super happy.
> - macOS is fundamentally the same as it was 10 years ago, just with some relatively minor changes to the design. I'm pretty confident they're not going to move the dock to the top and force a new window toolkit on me that most existing software can't use.
I don't know anything about macOS but that is an interesting point. I actually use Linux because of its stability. It is a deeply conservative operating system that tries its hardest to never break existing software. I recently booted up an old Netbook running Linux that is surely much more than a decade old now and hasn't seen any update and I still felt right at home.
Sure the Linux ecosystem has seen a bit of changes but most of them are opt in and can be avoided. If you were on Ubuntu you got experimented on quite a bit but thank god nobody is forced to use Ubuntu.
In contrast I am not even able to use a modern Windows system productively these days. The last version I used was Windows XP and it does not seem to have improved for the better UI wise to say the least.
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.
> Ask any sysadmin who had a fleet of Macbooks during this update cycle: it was a nightmare and a half.
That’s not saying much, everything is always terrible and it was all better under Lion/Snow Leopard/Tiger/OS 8. The 4 computers I had to update did it just fine.
> Brew and Macports both suck. If you use Linux on a daily basis, then you're well familiar with what a good package manager looks like: apt and Pacman are both good examples.
Indeed. From my experience either work great (I use CentOS and OpenSuse daily, alongside macOS). The only bits of software I’ve ever needed which weren’t on Macports were quantum chemistry codes, which I wanted to compile myself anyway to configure them properly and avoid MPI issues. At some point I had to compile GCC myself to track the development branch, but I haven’t had to do that in quite a while now. So yeah, your points are valid, but they still do their job, and you don’t have to rely on them for OS updates, so they cannot compromise stability.
> The ball is in Apple's court then. If they want to brag about being a real Unix system, the least they can do is ship modern Unix tools with their OS. Ironically, MacOS is the least compatible Unix system around.
They haven’t bragged about it in a decade. Besides, if you know UNIX, you realise that this kind of shenanigans is just life, and that there is quite a bit of variance in the specific implementation of user land software. Your problem is not that it is a sub-par UNIX, it’s that it isn’t Linux (which isn’t UNIX). The BSDs also lack most of the GNU tools by default, and so did most other UNIXes when they were still around.
> I mean, the M1 Macbook Air is sitting in my desk as we speak.
That’s fine. I didn’t accuse you of lying, and you are entitled to your preferences. I just pointed out that your arguments were not great, and indeed often heard from people who never really used Macs.
> My guff is well founded, I think: as the most valuable company in the world, Apple has an obligation to provide at least some level of modularity in their ecosystem.
This might be your problem. Whatever their market cap, they don’t really have an obligation to align with your opinions. I understand that you’d like it, but what kind of moral imperative would there be?
> Otherwise, the precedent they set will continue to influence every market we can conceive, until our concept of "ownership" is poisoned to mean a subscription service.
How is this related to their business policy? I strongly dislike their foray into services, but other than that they sell devices, not subscriptions. Your devices are yours, nobody is going to come and take them.
> It's driven by greed, and makes me sick. It always comes at the cost of the user, and the declining greatness of MacOS is a perfect example of how Apple's hunger for money is poisoning their product line.
Right, so you have an ideological problem and that’s why you sound like that. Well, if I can recommend anything, it would be to keep using Thinkpads, they are good devices and Linux is great as well. That way you can completely ignore whatever happens on the Apple side and be happy.
> These issues notwithstanding, the total user experience of owning a Mac laptop is far superior to any Linux or Windows machine I've tried, at least in the past 3 years or so.
That.
I don't love Apple. They're a corporation, so at best our interests temporarily align. Loving them would be absurd. I really really want them to have strong competitors. I'd love to be back on an open source OS full-time, like I was for many years.
Unfortunately, they're so far ahead of the competition, that they screw up, sometimes even in a few ways at the same time, and people come out saying "LOL and Apple fanboys won't switch to Linux even now", and that's true... but it's because I'd be trading a few problems for a few score problems.
I ran Linux on laptops and desktops for about a decade, as my main computers. Ubuntu near the end, Gentoo for about five years, Mandrake really early on, a little time with Fedora somewhere in there, a sprinkling of Debian. I still try it out every year or two! I wish it weren't, but it's still much, much worse, and in the best case slows me down and gets in my way more than a "bad" Apple machine with a "bad" version of an OS X / MacOS, barring actual faulty hardware.
> why not built a far more powerful and cheaper hackintosh
Because I have better things to do with my time than assemble a poor substitute for a cohesive just-works experience.
> what software is there for mac OS that there is a not an equivalent to for linux or windows
As a developer, most of the exact same software I use every day on OS X runs on Linux just fine. And yet, Linux doesn't provide me with a good user experience, and it doesn't just work[1].
But fundamentally, you are just mad because other people like something you don't. Dwell on that for a while.
[1] If you're going to try and argue with me about how great Ubuntu or Mint or whatever else are these days, let me save you the time: You're wrong, and there is absolutely nothing at all that you can say that will convince me otherwise, because I do use them, but they continue to fail me as primary desktops. Your words conflict with reality, and more words won't change that.
> Considering how many people have abandoned the GNU/Linux desktop in favor of MacOS, I'm not convinced "everyone" tolerates it.
Abandoning GNU/Linux in favor of macOS for political reasons, specifically as a reaction to Gnome, makes no sense to me. The things that frustrate people about Gnome (low configurability, highly opinionated design, low interoperability or deliberate incompatibility with other ecosystems) are all things that are very much present in Apple software. Even other parts of this stack, which it is insinuated emanate from the same overbearing Red Hat influence (systemd, PulseAudio), were inspired by macOS on a technical level.
I understand macOS has other strengths, but idk why anyone would see it as a refuge from the perceived problems with Gnome, systemd, Wayland, etc.
>I fully understand why people want to use Apple for their consuming needs. I really don't understand why my fellow developers choose to go with Apple as their work machine.
Because many of your fellow developers do not have and don't want a separate machine for just conding? Why is this idea so alien for some people?
I've been using linux distros (mainly Ubuntu before unity nonsense and then arch and even maintained a package in AUR) since around 2006 to 2013-14. Every now and then I install Fedora\Ubuntu\Manjaro etc to see if anything got better to allow me to use it as a universal device should be used. Every time the answer is a firm NO.
In fact sometimes the disto won't even install because of some weird reasons. For example I only managed to install Fedora on my current PC (build mainly for gaming) after changing some GRUB options (and spending two hours searching all over the web for a needed recipe). What the hell is this?
As a sibling commenter said - Linux is still only good as close-to-targed (server) work machine. And it also has a few OSS tools for musicians and painters (like MuseScore and Krita). But that's it.
Installation is still a mess, updates are still unpredictable. Software distribution is still a nightmare. General consumer software availability is ... there is almost none.
If at some point my mac will become too unfriendly to work with as a dev tool (I don't see it coming really. Some people on HN usually treat some minor things as a catastrophe) - I will build a small dev server (or rent one).
In what way? I think it's pretty great and probably has the most interesting indie software choices. I always wonder why there's so little interesting software on the PC or Linux. Linux I get - the financial incentives are weak. But Windows has massive market share. Aside from games, I think it under performs when it comes to attracting developer talent.
> you are mostly worse off these days
I strongly disagree. All of the major operating systems are good enough these days. Each has their niche where they are the best choice. Different incentives drive the development of each. None is good at everything. I don't think it's necessarily a bad place to be.
> I switched to MacOS because it's fundamentally BSD with a nice/ well integrated GUI. Almost all of the good OSS I love is supported nearly perfectly.
This is the reason I initially started using macOS more than a decade ago.
However, I've been told that I'm the wrong kind of user by Apple fans whenever I criticize Apple for transforming macOS from a pretty Unix into a locked-down App Store appliance.
The BSD parts of macOS are getting old and crufty, and are being locked out and overridden by Apple's proprietary and significantly-undocumented layer. For an example of this, check out how networking is done on modern macOS versus how networking is done on a BSD or Linux.
> Perhaps I'm a bit jaded after running into too much bullshit trying to get Linux running well on laptops in the 90s and 00s
Linux has gotten much better, and the problems of the 90s and 00s have vanished for my use case.
These days, at least to me, Linux is the pretty Unix that just works that macOS used to be.
> If you still have passion and time for this - cool, most people don't want to spend their days on this.
Just adding another counterpoint to "MacOs is awsome", anecdotal one, because we don't have any other.
My wife (she is not a hacker, just a computer science teacher) hates macos, she preferred Linux.
She used the system I setup for her, and I left it alone. She loved it.
MacOS is created for average Joe that just browses web and has no clue about anything else (like filesystem, directories). Example: Finder, that thingy can't show you full paths. If you try to get to your home directory to get some files you have to jump hoops.
I'm astonished that it is pushed as a developer OS, "because you have 'Linux' there". Sorry, that poor choice of basic utilities (some time ago bash there was ages old), that everyone has to use brew to get anything useful there.
Hardware is nice, but OS, is something that you just overwrite while installing Linux.
> 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.
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
reply