Nos encontramos en una época dorada para los sistemas operativos. Existe una gran variedad y todos muy buenos. Es cierto que cada uno de ellos esta centrado en un tipo de usuario. Por un lado están los de sobremesa (Windows, Mac, Linux, FreeBSD…), por otros los de smartphones (Android, iOS, Windows Phone…), TVs (Tizen, Android TV, WebOS…), servidores (Linux, FreeBSD…), consolas (Wii U OS, FreeBSD, Windows…) y hasta relojes (Pebble, Android Wear, WatchOS…). Y con tantos donde elegir, a uno le surge la pregunta natural: Doctor Who? Perdón: ¿Cual es el mejor sistema operatiov para programar?

Me voy a centrar en los sistemas orientados a uso profesional, que es el sobremesa. Tal vez en un futuro pueda incluir las tablets, ya que poseen la potencia, pero hoy por hoy no son compatibles la gran mayoría del software profesional.

Mis seleccionados son Windows 10, macOS Sierra y Ubuntu como representante de Linux. De ellos resaltaré sus herramientas de desarrollo. Valoraré a nivel de programador, no de usuario medio. Estoy seguro que cualquier de estos 3 son igual de válidos para navegar, chatear, ver películas o cualquier cosa que haga la gran mayoría de la humanidad. Pero para picar código no.

Windows 10

Es bueno

  • Compatibilidad absoluta con cualquier software privativo.
  • Todas las herramientas para el desarrollo de videojuegos y animación.
  • Ubuntu integrado, con todas las herramientas Linuxeras.

Es malo

  • La intefaz no es configurable ni esta adaptada a un uso continuo con el teclado.
  • Incómodo a la hora de instalar software de servidor (Apache, postgreSQL…). Aunque es cierto que con Ubuntu esto ya no debería ser un problema.
  • Es propenso a los virus.
  • No esta muy optimizado.
  • Es de pago. Tendrás que pagar la licencia.

A tener en cuenta

  • No deja de mejorar.
  • Cada vez hay menos virus.
  • Las herramientas que antes te obligaba a usarlo ahora estás disponibles en otras plataformas.

MacOS Sierra

Es bueno

  • Terminal unix. Con iTerm te sentirás de maravilla.
  • brew, instalación cómoda de software.
  • Buenas GUIs, como MacVim y para Emacs.
  • No echarás en falta casi ningún software privativo.
  • Alfred. El buscador con asteroides más productivo.
  • Interfaz limpia y sencilla.

Es malo

  • Xcode. Si quieres desarrollar para Mac tendrás que pasar por Mac. Desde comprarte un equipo hasta aprender a utilizar el Xcode. Y no es un programas sencillo a la hora de desplegar. Además, los emuladores de iOS son lentos.
  • La intefaz no es configurable. Puedes crear algunos atajos con programas externos. Pero el escritorio no se puede cambiar.
  • La RAM se llena cuando menos te lo esperas. Lo he notado mucho con Slack, Chrome, Java y Node.
  • Las actualizaciones no aportan nada. Parece que el sistema operativo se congeló hace años.

A tener en cuenta

  • No suelen pensar mucho en los desarrolladores.
  • Muy orientado al usuario medio.
  • Los equipos no son fáciles de ampliar. Por ejemplo los macbooks tiene la RAM soldada.

Ubuntu

Es bueno

  • Todos los comandos que gastarás en tu vida y en la que viene.
  • Gestión cómada de instalación y actualización de software.
  • Magnífico rendimiento.
  • Opensource.
  • Escritorios intercambiables y configurables.

Es malo

  • No es el mejor sitio para el desarrollo de videojuegos y animación.
  • Falta software privativo. Por ejemplo todos los principales de Adobe y muchos de Autodesk.
  • Perderás tiempo configurando por el terminal lo que en otros se hace con un clic.

A tener en cuenta

  • Es el sistema operativo minoritario, y eso se nota a diario.
  • Cuando de acostumbras luego es dificil irte.
  • Debes tener cuidado, puedes llegar a usarlo como un juguete en vez de una herramienta de trabajo.
  • Muchos miembros de la comunidad son radicales, y puedes llegar a contagiarte.

Conclusión

El mejor sistema operativo para programadores es: depende. ¿Vas a hacer juegos o animación? Windows 10. ¿Vas a ser un desarrollador de Apple? MacOs. ¿Vas a trabajar en servidores? Ubuntu. ¿Web? MacOs y Ubuntu. ¿Bash? Ubuntu. ¿C#? Windows 10… y así podríamos estar hasta que se nos desgaste el teclado. A donde quiero llegar es que tú no eliges el sistema operativo, sino el trabajo que vayas a realizar. Aunque no siempre. Por ejemplo si eres un Backend de Python, o Diseñador Web. Si es tu caso puedes ver con el ojo, y no el corazón, cual se inclina más hacia un lado positivo.

Elige con cabeza, pero programa con el corazón.