+1 for the corporate part. That said I’ve been at two large corpos where Ubuntu LTS was an official, blessed, IT-managed workstation OS option. In fact some development projects have it as the default OS, because some software simply doesn’t build on non-Linux OSes and requires Linux VMs on Windows or macOS. For example AOSP.
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.
Because Linux is really good at being a server, and macOS is really good at being a development OS, despite the hate it’s getting in this thread
I honestly think it has very little to do with the OS itself.
I think it’s more about practicalities and inertia - ordering laptops with the OS preinstalled, administering them, corporate VPN software, etc.
Both are great development OSs, but OS X is a better corporate OS.
+1 for the corporate part. That said I’ve been at two large corpos where Ubuntu LTS was an official, blessed, IT-managed workstation OS option. In fact some development projects have it as the default OS, because some software simply doesn’t build on non-Linux OSes and requires Linux VMs on Windows or macOS. For example AOSP.
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.