Respuesta también disponible en Quora: ¿Qué hace que las Mac sean tan buenas para la programación y el desarrollo en lugar de Windows?
Lo siento pero tú pregunta es muy genérica. Porque hay mucho en juego en cuanto a lo que tú pregunta intenta abarcar, simplemente no puedes comparar manzanas con naranjas y reducir todo a simples gustos o conveniencias. Quizá debiste enfocar tu pregunta un poco más. Por ejemplo: ¿Por qué el sistema operativo Mac es atractivo para algunos desarrolladores? O ¿Qué hace a los ordenadores Mac atractivos para algunos desarrolladores? Nota que uso algunos. ¿Por qué? La razón es muy sencilla: Mac OS no es el único sistema operativo usado para desarrollo.
Es cierto que algunos desarrolladores prefieren Mac por razones diversas que van desde simple conveniencia hasta características técnicas específicas y otras razones más extravagantes como simple tendencia (moda) o hasta incluso “fanatismo”. Haciendo sólo un paréntesis al mencionado “fanatismo”, te diré que he conocido gente que prácticamente venera a los productos Apple y están dispuestos incluso a invertir sumas de dinero exorbitantes (en mi opinión) para hacerse con alguno de sus productos.
Dejaré esto hasta aquí, ya que escapa a mi respuesta así que me limitaré a ello.
Mac OS
Está enfocado en clientes de escritorio (al igual que iOS para usuarios de dispositivos móviles), el cual tiene algunas ventajas desde un punto de vista de la interfaz gráfica, es decir la experiencia de usuario es mucho más “rica” (vamos a decirlo así) en comparación con su competidor Windows. Un ejemplo son las aplicaciones con un abanico muy amplio de software disponible al alcance de pocos clics. También otra ventaja es que es un “Unix-compatible” (es decir es certificado como un Unix. Ok, eso no significa que sea un Unix por supuesto), eso lo hace atractivo para desarrolladores que crean software de escritorio principalmente multiplataforma, los cuales incluyen MacOS, Windows, GNU/Linux o Android (móvil). Esto es especialmente, en el caso de desarrolladores de software como servicio, algo a destacar porque hay una cantidad considerable de desarrolladores y/o procesos automatizados cuyo objetivo de despliegue de software son servidores con GNU/Linux como núcleo del sistema. El cual es otro “Unix-compatible” popular en entornos de servidores.
Windows
Aquí la perspectiva cambia, es decir el objetivo de Microsoft no es sólo usuarios finales y desarrolladores de escritorio. Sus ámbitos también abarcan sistemas de servidores, motores de bases de datos, AoT, soluciones Cloud, entre otros. Pero a diferencia de Mac OS en escritorio, Windows no es un Unix-compatible así que la experiencia “Unix” no es posible. Necesitarías por ejemplo, el uso de herramientas externas como maquinas virtuales (VMs) donde instalar algunos sistema operativo Unix-compatible. Ademas cualquier software de escritorio que se desarrolle en Windows muy probablemente se ejecutará en sistemas operativos Windows también. En cierto que hoy en día tienes WSL (https://es.wikipedia.org/wiki/Windows_Subsystem_for_Linux) como una capa de compatibilidad con GNU/Linux, pero tiene varias limitaciones (https://es.wikipedia.org/wiki/Windows_Subsystem_for_Linux#Limitaciones) todavía.
Bonus
GNU/Linux (distros) como un sistema de escritorio para desarrollo también es una opción a considerar. Por ejemplo GNU/Linux sigue incrementado su popularidad entre usuarios de escritorio, entre los cuales no sólo se encuentran desarrolladores sino también usuarios finales. Hoy en día tienes un amplio abanico de sistemas operativos de escritorio basados en GNU/Linux (distros) sin restricciones de copyright, que puedes descargar e instalar en tu hardware preferido.
Algunos muy populares como Arch Linux, Fedora, Ubuntu, OpenSUSE, entre otros. Aquí hay algunas respuestas complementarias: