Por qué algunos programadores prefieren el SO Linux en lugar de Windows o macOS?

Muchas respuestas parecen ser de "Fans" u "Haters" de cada sistema operativo.

Así que como una persona que desarrolla usando Windows, OSX y Linux, aquí hay una razón mucho menos opinable.

¿Por qué desarrollo usando Linux?

Cuando estoy trabajando en servidores LAMP, me gusta tener un entorno de pruebas local tanto como puedo.
Puedo tener todo el mismo software, y las mismas versiones del software, que se ejecutan en mi sistema operativo de desarrollo, como se ejecutará en el servidor real cuando el sitio / aplicación se aloja.
Me encanta apt-get ... Me encanta, me encanta, me encanta, y así lo hacen muchos otros!

¿Por qué desarrollo utilizando Windows?

Cuando quiero desarrollar un programa para windows, podría desarrollar en cualquiera de las otras plataformas, pero como probablemente no te sorprenda, Visual Studio, y todas las herramientas que lo acompañan, es, sin duda, la mejor herramienta para el trabajo.
Además, muchas de las mejores herramientas, y más pulidas, están disponibles para windows!

¿Por qué desarrollo en OSX?

Aunque no tengo nada que ver con iOS, esta es una razón para muchos, pero mi razón en realidad es muy diferente.
OSX tiene algunos programas realmente buenos y pulidos para el desarrollo. Muchos están disponibles en windows, y otros en Linux.
Pero, tienes una terminal, con soporte nativo real de SSH, tienes homebrew, básicamente, es un gran punto intermedio. Una interfaz agradable, con grandes herramientas, y una terminal a la que puedes volver, para hacer un trabajo real.

¿Por qué NO uso OSX para el desarrollo?

El hardware, mientras que el hackintosh es genial para un escritorio, los iMacs son una basura sobrevalorada, y los Mac Pro son aún más una broma. Los portátiles están bien, pero son severamente sobrevalorados.
Hay que ser lógico en lo que se gasta el dinero, especialmente cuando se tiene un presupuesto limitado.

¿Por qué NO uso Windows para el desarrollo?

SSH, honestamente, esto es clave. Si bien se puede usar Putty, y otras cosas, se necesita SSH nativo, es un auténtico dolor tratar de gestionar servidores sin él. Menor, pero un gran dolor. Además, es un mal rendimiento. El rendimiento en un hardware idéntico, cae detrás de OSX y Linux

¿Por qué NO uso Linux para el desarrollo?

Aunque casi todo está disponible, y funciona tan bien como OSX y Windows, hay algunas herramientas que son simplemente basura. Algunas aplicaciones simplemente no han sido optimizadas, y se ejecutan como una basura en comparación con sus homólogas de OSX y Windows, y muchas de ellas pueden ser incluso la misma aplicación de Java.
El soporte de hardware puede ser extraño y una molestia.

Entonces, ¿qué usa un desarrollador como yo?

¡Todos ellos!

OSX es mi sistema operativo principal ya que es el mejor punto intermedio, con 1 monitor dedicado a Ubuntu en una máquina virtual, y Windows en otra máquina virtual.
Necesito hacer pruebas en todas las plataformas, así que Windows está ahí cuando lo necesito.
Tengo Linux real, para todas sus grandes herramientas, y el software equivalente al servidor para el desarrollo local.
Tengo OSX, que funciona mucho mejor que Windows para alojar máquinas virtuales, con todas las mejores herramientas disponibles que se ejecutan en él.

Para los portátiles, tengo un Macbook Pro (con OSX), y un Dell Alienware (con Linux)

La mayoría de los desarrolladores web hacen cosas muy similares a las mías.
Muchos otros desarrolladores, utilizan lo que les gusta, el gusto personal es un factor importante, y para la mayoría de los desarrolladores, eso significa más que cualquier otra cosa.
A menudo, la plataforma para la que se desarrolla, es un factor más importante que cualquier otra cosa.

WebApp == Linux
Mobile == Apple
Desktop == Windows

Si usted está desarrollando una aplicación de escritorio, más a menudo que no, el 80% de su base de clientes son las ventanas, por lo que, desea dar a la mayoría de sus clientes la mejor experiencia posible, por lo que desarrollar para adaptarse a ellos.

Con los móviles, XCode es mucho mejor que los work arounds para compilar y trabajar en Windows, y Android tiene las mismas herramientas en OSX que en Windows, clavadas ambas en 1 golpe.

Con WebApp, todas las razones que he mencionado anteriormente.

¿Qué NO es cierto?

"Puedo hackear mi SO en Linux" - El hecho es que probablemente nunca jamás lo han hecho, y sólo porque son programadores, probablemente no tienen idea de cómo

"Si hay's un error, puedo arreglarlo" - Dudoso, ver arriba

"Los programas son de código abierto" - La mayoría lo son, pero la mayoría de las mismas herramientas que usas en OSX y Windows también lo son. Es su código de código abierto? La mayoría de esta gente son verdaderos hipócritas 🙁

"Más estable" - Declaración de fanboy, la gente de Windows afirma lo mismo, al igual que la gente de OSX. Todos son grandes sistemas operativos estables, yo ando varios meses con los 3, sólo reiniciando para actualizaciones de hardware o de software importantes. Este es un argumento tonto.

¿Qué es verdad?

El gusto, es un factor enorme!