Disagree on macOS being a really good development OS. It may be so for iOS/macOS development but for many other use cases, package managed Linux OSes are superior. Case in point, macOS has no built-in package manager that can manipulate what toolchains, runtimes and libraries are installed on the system and available for software development. You have to resort to Homebrew or Macports, both of which are inferior options than say apt in Debian-based Linux OSes. And then there’s the fact that macOS doesn’t support Linux containers without virtualization. Given how useful and how widely used containerization is for software development, it really puts the nails in macOS as a great development OS. Yes you can use containerization but at the expense of significant resource overhead. That’s not great at all. I had a 6-container stack to run for development on a MacBook Pro a few years back. It was nearly unusable on that hardware due the RAM overhead and slow macOS<->container IO. The same stack was flying on equivalent hardware running Ubuntu LTS. Beyond that, you can distribute whole consistent development environments fairly easily using Linux OSes and trivially using containers. Having used Windows, Linux and macOS for professional software development, I think macOS is easier to live with for companies without IT departments, but not necessarily as easy to live with for developers. That said people who are used to work with it might find that easier than learning something else even if that something is easier in absolute terms. Which is fine.
Disagree on macOS being a really good development OS. It may be so for iOS/macOS development but for many other use cases, package managed Linux OSes are superior. Case in point, macOS has no built-in package manager that can manipulate what toolchains, runtimes and libraries are installed on the system and available for software development. You have to resort to Homebrew or Macports, both of which are inferior options than say apt in Debian-based Linux OSes. And then there’s the fact that macOS doesn’t support Linux containers without virtualization. Given how useful and how widely used containerization is for software development, it really puts the nails in macOS as a great development OS. Yes you can use containerization but at the expense of significant resource overhead. That’s not great at all. I had a 6-container stack to run for development on a MacBook Pro a few years back. It was nearly unusable on that hardware due the RAM overhead and slow macOS<->container IO. The same stack was flying on equivalent hardware running Ubuntu LTS. Beyond that, you can distribute whole consistent development environments fairly easily using Linux OSes and trivially using containers. Having used Windows, Linux and macOS for professional software development, I think macOS is easier to live with for companies without IT departments, but not necessarily as easy to live with for developers. That said people who are used to work with it might find that easier than learning something else even if that something is easier in absolute terms. Which is fine.