Windows es el sistema operativo más utilizado, tanto en entornos domésticos como en empresas. La mayoría de los programas se crean para funcionar sobre este sistema operativo. Sin embargo, la gente que crea estos programas (los desarrolladores, programadores y administradores de sistemas principalmente) prefiere dejar de lado Windows y trabajar sobre otro sistema operativo: Linux. ¿Por qué? ¿Qué los lleva a esto?
Linux ofrece una gran cantidad de ventajas a la hora de trabajar y desarrollar, ventajas que van desde la flexibilidad hasta la seguridad y el rendimiento de los sistemas. Hoy en día Linux es un sistema perfectamente asequible para cualquier usuario, ya que no es mucho más complicado de usar que cualquier sistema Windows. Sin embargo, este SO no termina de ganar popularidad dentro de los entornos domésticos, siendo su principal punto fuerte los servidores y los ordenadores de los programadores.
¿Qué lleva a los programadores a usar Linux? Vamos a verlo.
Ventajas de usar Linux para programar
Lo primero que debemos tener en cuenta es que este sistema operativo es gratuito y de código abierto. Para usarlo no es necesario pagar ninguna licencia ni cuota, da igual que lo usemos en un ordenador o en un servidor a gran escala. Si sabemos configurarlo y administrarlo, nos ahorraremos una buena cantidad de dinero. Y, si necesitamos soporte profesional, siempre podemos recurrir a sistemas como Red Hat Enterprise Linux.
Linux es un sistema operativo sin restricciones. Los usuarios tienen el control total sobre el mismo, pudiendo modificarlo según sus necesidades y ajustarlo para que sea lo más parecido al sistema real donde se va a ejecutar. Además, tienen control total sobre los paquetes y programas que se ejecutan, pudiendo dejar el sistema con lo justo y necesario para poder llevar a cabo su labor. Podemos usarlo con escritorio, o desde terminal para aprovechar al máximo los recursos. El control, sobre todo, el total.
Este sistema operativo se puede instalar en cualquier ordenador, incluso si es antiguo y tiene pocos recursos. Es más, no nos podrá requisitos estúpidos, como el TPM 2.0 de Windows 11, o usar un procesador de 64 bits, para poder instalarlo. Y, de ser así, siempre podremos buscar otra distribución. Las actualizaciones son también muy sencillas y rápidas, y las podremos configurar tanto automáticas como manuales. Pero, sea como sea, no reiniciarán el ordenador a traición como hace Windows. La estabilidad y la seguridad frente a otros sistemas, como Windows, es también una ventana que tienen en cuenta los desarrolladores.
Por último, Linux cuenta con una gran cantidad de herramientas de programación, pudiendo usar la que queramos en función del tipo de software que vayamos a crear. Además, gracias a su sencilla personalización, es posible tener varias configuraciones (con distintos compiladores, por ejemplo) para poder probar en un mismo sistema el comportamiento del programa bajo diferentes plataformas. También es importante destacar que Linux cuenta con una gran comunidad de soporte, y que, como la mayoría de los programadores también utilizan Linux, la documentación que vamos a encontrar para realizar ciertas tareas está enfocada principalmente a este SO.
¿Qué no podemos programar en este sistema?
Sin embargo, aunque Linux es el mejor sistema operativo para programar, no es perfecto. Si vamos a crear programas para Windows usando una herramienta de programación de Microsoft, como Visual Studio, Linux no nos servirá. Lo mismo ocurre a la hora de desarrollar juegos de PC con IDEs como Unity o Unreal. Aunque estos pueden funcionar en Linux, algunas tecnologías, como DirectX, que son exclusivas de Microsoft, no están disponibles en él. Si usamos Linux para crear los juegos, tarde o temprano estos tendrán que pasar por Windows, y al final es una pérdida de tiempo.
Si eres programador, y quieres tenerlo todo, no decidas entre un sistema u otro. Gracias al Subsistema de Windows para Linux es posible usar Windows como sistema principal y usar este subsistema, como si se tratase de un segundo sistema operativo instalado, para llevar a cabo las tareas de programación al más puro estilo Linux.