domingo, 16 de agosto de 2009

Linux y Windows

Cuando se decide desarrollar por costumbre, por inercia, o por creer que la mayoría de los clientes va a usar windows se utiliza este sistema. En la actualidad, no hay tanta diferencia entre las prestaciones que puede dar un sistema operativo u otro. Tanto Linux como Windows implementan los lenguajes más populares y poseen herramientas completas.
Lo que suele tener Linux son muchas alternativas para cada solución, por lo que siempre encontraremos una que se adecúe más a nuestro problema especifico o podremos adaptar una existente, por que los códigos fuente en general están disponibles (siempre si usamos soluciones GPL)
Por el otro lado, Windows, suele ser más uniforme. Los sistemas de instalación son similares, y la mayoría de los Windows son iguales. En Linux, cada distribución se organiza de manera diferente y no todo es tan portable entre diferentes distribuciones. Entonces, compilar un programa en diferentes distribuciones puede llegar a ser algo no tan trivial.
Si bien existen, y han existido, varios intentos por crear un estándar entre las diversas distribuciones para que todo esta no ocurra, aun se esta lejos de lograrlo.
Otra ventaja es el costo que se debe pagar por licencias. La mayoría de las distribuciones de Linux, las herramientas que utilizamos para el desarrollo y los entornos que se usan luego para correr la aplicación se distribuyen, normalmente, bajo alguna licencia abierta. Esto implica no solo que el costo será cero (o muy bajo) sino que también obtendremos el código fuente, que podremos adaptar a nuestra necesidades. El costo nulo o muy bajo de una licencia ayudará a disminuir el costo total del proyecto.
En algunos casos, ambos sistemas pueden convivir felizmente dentro de una organización. Un ejemplo común son las aplicaciones web desarrolladas en PHP, Pyton, Perl, Ruby, Java, etc. que corren en un servidor Linux pero los clientes utilizan Windows y acceden a la aplicación por un navegador web.