Como sistemas operativos Unixoid, los derivados de GNU / Linux ofrecen excelentes requisitos previos para servir como plataforma de codificación para el desarrollo de software. Mostramos las ventajas y desventajas del sistema operativo gratuito para desarrolladores de software.
Cuando piensas en el desarrollo de software, automáticamente piensas en GNU / Linux (en lo sucesivo, Linux). Esto también se debe al hecho de que el sistema operativo gratuito ha tenido un enorme éxito desde que se lanzó el primer kernel de Linux el 17 de septiembre de 1991.
Índice de contenidos
Linux
Linux no solo está disponible como sistema operativo en innumerables distribuciones, sino que también se ha establecido gradualmente en el mundo de los dispositivos pequeños. Linux se ejecuta literalmente en todas partes y controla servidores web, PC del trabajo y del hogar, electrodomésticos, componentes domésticos inteligentes e incluso automóviles autónomos.
En resumen: Linux es probablemente el componente más importante para el mundo en red del futuro. Entonces, solo tiene sentido usar Linux como un sistema básico para el desarrollo de software, ¿verdad?
Desarrollo de software con Linux: básicamente sin problemas
Desde un punto de vista técnico, Linux es, por supuesto, ideal para el desarrollo de software. Por un lado, porque el sistema admite una amplia gama de lenguajes de programación, editores y entornos de desarrollo integrados (IDE). Además, existe una cuasi estandarización a través de distribuciones generalizadas de Linux como Ubuntu, Linux Mint, Debian y SUSE.
Por último, pero no menos importante, Linux también es ideal como objeto para el desarrollo de software: por regla general, el software disponible es de código abierto, lo que facilita el uso de las soluciones existentes y la realización de tus propios proyectos creativos. En resumen: el desarrollador en realidad no necesita nada más que Linux, independientemente de si estás produciendo software o construyendo sistemas web.
Linux tiene una gran trampa
Desafortunadamente, eso no es todo: Linux desafortunadamente tiene una trampa extremadamente grande, y esa es la fragmentación del sistema. Incluso si existen grandes distribuciones generalizadas, no todos los Linux son iguales. No existe tal cosa como “el” Linux: la estructura modular y las posibilidades casi infinitas de armar Linux evitan efectivamente la estandarización.
Esto llega tan lejos que las grandes empresas de software aún se resisten a ofrecer soluciones comerciales o incluso propietarias para Linux. La probabilidad de que una solución no funcione correctamente aquí o allá es demasiado alta y el esfuerzo de soporte es demasiado alto. Y así Linux se corta a sí mismo como un sistema de desarrollo
Por lo tanto, la enorme flexibilidad es una gran ventaja y al mismo tiempo la mayor desventaja: hay una falta de uniformidad, y eso interrumpe el funcionamiento, especialmente cuando tienes que trabajar en colaboración con autónomos que pueden tener sus propias ideas sobre el desarrollo de Linux.
Muchos lenguajes de programación
En el lado positivo, Linux, naturalmente, es compatible con los lenguajes de programación comunes C, C ++, Java, Ruby y muchos más. Incluso se admite Apple Swift. El IDE de Java clásico también está disponible para Linux, al igual que el SDK de Android. Y Qt Creator es un IDE completo y gratuito para proyectos C ++.
La creación de código puro, incluida la compilación, rara vez es un problema para los desarrolladores en Linux, el sistema aquí es muy flexible. Sobre todo, porque todas las herramientas mencionadas están disponibles de forma gratuita.
Desarrollar solo para Linux y Android
Básicamente, en Linux al igual que en Windows o macOS, tiene sentido desarrollar para la plataforma utilizada. En Linux, esto también incluye Android, que es en sí mismo un sistema operativo con un kernel de Linux.
El desarrollo para Windows y especialmente macOS es difícil en Linux: el sistema en sí es necesario para realizar pruebas y funciones específicas del sistema operativo. Sin embargo, este problema se puede evitar fácilmente mediante la virtualización, aunque esto requiere una máquina virtual completa de Windows con una herramienta como VirtualBox; Para el desarrollo de software en Windows, esto también debe usarse en gran medida.
Flexibilidad de Linux
La ventaja de esta solución es, sin duda, que los sistemas para desarrolladores se benefician del rendimiento y la flexibilidad de Linux. Sin embargo, en tal escenario, aparte de un elevado idealismo, hay poco que decir sobre no usar una PC con Windows de inmediato: gracias al subsistema de Windows para Linux, Linux puede ejecutarse directamente, lo que Linux no puede hacer con Windows debido a su diseño propietario.
¿Y macOS? Desafortunadamente, aquí existe el mismo problema. Sin embargo, el sistema operativo Apple y Linux son técnicamente sistemas operativos similares a Unix y, por lo tanto, están relacionados; adaptar el software originalmente programado para Linux no es tan complejo en macOS como portarlo a Windows.
Ideal para desarrollo web
Por cierto, parece completamente diferente con el desarrollo web: Linux está muy bien posicionado aquí, también porque una gran parte de la infraestructura de Internet también funciona bajo Linux. Los servidores web LAMP se configuran rápidamente en el sistema y se pueden duplicar de manera eficiente. Y gracias a las poderosas carcasas, la administración de sistemas remotos se convierte en un juego de niños.
Esto, por supuesto, incluye explícitamente tecnologías como HTML, PHP y Java: la cantidad de editores e IDE disponibles es enorme cuando se trata de llenar la web con software. Como resultado, Linux no está necesariamente por delante de Windows y MacOS en lo que respecta al desarrollo web, pero está completamente a la par.
Conclusión: recomendado sin reservas para el desarrollo web y Linux
En general, Linux no es, como a menudo se afirma, el sistema de desarrollo ideal: la capacidad de desarrollar código de macOS y Windows, así como para iOS, es extremadamente limitada o completamente excluida sin ayuda, como las máquinas virtuales. Lo que queda son Android, aplicaciones web y, por supuesto, los propios sistemas Linux.
Aquí, sin embargo, Linux puede mostrar sus fortalezas debido a la cantidad de herramientas disponibles, incluso si las soluciones propietarias están en gran parte ausentes. Sin embargo, debido a este hecho, cualquiera que desarrolle con Linux debe esperar que se requiera un esfuerzo adicional para eliminar la fragmentación. A cambio, los desarrolladores de software ahorran, y este es un argumento que no debe despreciarse, en comparación con los costos de licencia y hardware de Windows y macOS.