Linux es popular entre los programadores, y por una buena razón. Linux y Unix han sido durante mucho tiempo un pilar de la enseñanza de la informática. Si siempre has querido aprender a programar, ya sea que quieras desarrollar software profesionalmente o sólo por diversión, no hay mejor plataforma para cortar los dientes.
Si todavía no estás convencido, aquí tienes algunas razones por las que deberías usar Linux (o cualquier otro Unix, incluyendo los BSD) para aprender a programar.
Es gratuito
Linux es más conocido por el hecho de que todas las distribuciones y la mayoría del software están disponibles de forma gratuita. Mientras que las herramientas de desarrollo de Microsoft y Apple pueden costar cientos de dólares, Linux, dado que su base de usuarios está compuesta por muchos desarrolladores, tiene muchas herramientas de programación disponibles de forma gratuita. Algunas distribuciones las tienen preinstaladas, otras las ponen a disposición a través de sus repositorios de paquetes. Navegar por las herramientas disponibles te hará sentir, como dijo Homer Simpson, como un niño en una tienda. Hay editores, compiladores e intérpretes para casi todos los lenguajes jamás creados, depuradores, generadores de parsers, lo que sea. Si estos programas realmente costaran dinero, probablemente podrías comprar una pequeña casa por el dinero que pagaste por ellos.
Además, como dijo el famoso Richard Stallman, estos programas son también “libres como la palabra, no como la cerveza”. Stallman es más conocido por haber fundado el movimiento del software libre en los años 80, que fue un intento de asegurarse de que los usuarios pudieran acceder siempre a los programas que tuvieran el código fuente disponible. Tanto si lo llamas “software libre” como “código abierto”, leer el código fuente de los programas es la mejor manera de aprender a programar. Imagina que quieres convertirte en un gran escritor pero no te permiten leer ningún libro. ¿Cómo se puede esperar que produzcas algo que valga la pena sin conocer la historia de la literatura?
Ha existido siempre
Aunque Microsoft cambia sus herramientas con frecuencia, es un intento aparente de cobrar a sus clientes por sus productos obligándoles a actualizarse.
Linux, por otro lado, se basa en la tradición de Unix ofreciendo herramientas probadas. Puedes coger un libro sobre Unix de los años 80 y gran parte de él seguirá siendo aplicable a una distribución moderna de Linux hoy en día. Aunque el proyecto GNU y otros han reescrito y mejorado muchas de las herramientas clásicas de Unix, siguen funcionando prácticamente igual que en los años 70 y 80.
Es fácil construir programas
Una de las razones por las que Unix y Linux han sido populares entre los programadores todos estos años es que es increíblemente fácil construir programas complejos sin mucho esfuerzo.
La característica más notable de Unix es la forma en que los shells manejan la entrada y la salida. Es fácil enviar la salida de un programa a otro. Un ejemplo trivial sería enviar la salida del comando “who” que muestra a todas las personas conectadas a un sistema al paginador less:
who|less
Si tratas de codificar algo similar en C desde cero, estarías buscando al menos mil líneas de código. El uso de tuberías, por otro lado, convierte a Unix y Linux en un software LEGO, que permite construir programas complejos a partir de un simple conjunto de bloques de construcción. Esta es también la razón por la que los usuarios serios de Linux prefieren la línea de comandos. Es casi imposible canalizar la entrada de los programas gráficos.