Como desarrollador, ¿cuál es su sistema operativo favorito?

Soy usuario de Linux desde 2004:

Slackware -> KUbuntu -> Fedora Core 2 -> Ubuntu -> Fedora

He estado rodando Fedora (Linux) exclusivamente en los últimos años .

Desde el punto de vista del desarrollo, estas son algunas de las principales razones:

  • Es ligero, estable, potente.
  • Se parece a mi entorno de producción: una pila LAMP / LEMP bastante bien
  • No hay un solo paquete de software que me falte en comparación con Windows (a excepción de Photoshop, que no uso como desarrollador y puede funcionar con GIMP)
  • El shell es increíblemente poderoso y podría automatizar casi todo, ejecutar grep / ack / sed cuando sea necesario, buscar registros, truncar y combinar archivos dentro del terminal
  • Es de código abierto y, ocasionalmente, tengo que meterme en el interior y modificar la fuente yo mismo.
  • Afirmo que es más seguro y se preocupa más por la privacidad en comparación con otros sistemas operativos
  • Podría ejecutarlo en cualquier hardware (en comparación con macOS), y elegir el mejor hardware que amo
  • Ciertas tecnologías en contenedores como Docker solo son estables en Linux

Ocasionalmente, puede haber algunos problemas aquí y allá. Internet Explorer no es compatible a menos que ejecute una máquina virtual de Windows (y la navegación puede ser más fácil a través de la pila del navegador). Skype ha sido infravalorado en Linux desde que Microsoft se hizo cargo. Algunas actualizaciones pueden llevar algunos errores de notificación aquí y allá, pero ciertamente vale la pena cada centavo (oh, espera, es gratis).

Relacionado: la respuesta de Mario Peshev a ¿Por qué Linux es mejor que Windows para programadores?

Desde un punto de vista práctico:

Mac

La Mac tiene una excelente manera de distribuir software, es decir, está todo envuelto en un paquete de aplicaciones (creo que RISC OS inventó esto), por lo que es muy fácil distribuir software. La Mac también tiene una base de usuarios entusiastas, es el polo opuesto de la base de usuarios de teléfonos inteligentes. Apenas puede sacar 99 centavos de un usuario de teléfono típico, pero la base de usuarios de Mac quiere comprar software, quieren apoyarlo.

El kit de herramientas de la interfaz de usuario es extremadamente rico y poderoso, y en general es muy fácil de crear aplicaciones atractivas.

Windows

Hacer un instalador de Windows es una molestia en comparación con la Mac, pero los beneficios son básicamente “Visual Studio”. VS es el mejor IDE que puedes obtener, no creo que incluso el equipo de desarrollo de XCode esté en desacuerdo con eso.

La base de usuarios es enorme, pero probablemente más difícil de aprovechar que la Mac.

El kit de herramientas de la interfaz de usuario es brillante en UWP, y con Fluent Design creo que Windows 10 ha sido tan atractivo como Mac (suponiendo que los desarrolladores lo usen).

IBM i.

IBM i es un sistema operativo de servidor, y es probablemente el mejor sistema operativo de servidor. Tengo el privilegio de poder hacer que forme parte del trabajo que hago. Es una plataforma excelente, rica y poderosa, y a diferencia del desarrollo de software de terceros UNIX (o más bien GNU / Linux) no se ha desmonetizado de la existencia.

Algunos fuera del campo izquierdo:

OS RISC

RISC OS es un pequeño y antiguo sistema operativo que está completamente desactualizado. Sin embargo … Funciona fantástico en una Raspberry Pi (¡los procesadores ARM fueron inventados por Acorn!), Y creo que todavía se ve muy bonito. El sistema operativo RISC está desactualizado, pero puede usarlo fácilmente para aprender C, Python, Lua, tal vez C ++ y algunos otros lenguajes. Funciona mucho mejor que GNU / Linux en Raspberry Pi.

RISC OS fue el primer lugar donde vendí software comercial, y siempre tendrá un lugar en mi corazón para eso.

Infierno / Plan 9

Con lo que UNIX debería haber sido reemplazado, pero nunca sucedió. Encantador para jugar, me gusta especialmente Inferno porque se ejecutará como un sistema operativo en hardware desnudo, pero también como una aplicación en una Mac / PC. No me refiero a “en un emulador”, en realidad me refiero a una aplicación , es bastante extraño.