
Hoy traigo una recomendación de lectura. Una joya para cualquier desarrollador que tenga y mantenga la eterna curiosidad por ser mejor, o para poder guiar a un equipo o departamento o empresa dedicada a la construcción de aplicaciones informáticas, en todo el amplísimo sentido que tiene estas simples palabras.
Dos cosas me llaman la atención. Primero que es absolutamente gratis. Lo puedes leer online, o descargártelo. Y tiene el contenido y la extensión que ya quisieran para sí muchos libros “míticos” bastante costosos.
Lo segundo es que es un compendio de sabiduría y experiencia, y comparto con su autor, Eric Steven Raymond, la visión de que el software propietario o abierto, gratuito o de pago y sin importar su procedencia, es totalmente merecedor de todo el respeto. Y sus constructores.
Lo cual, al igual que a Eric, me lleva a mirar con muy poco agrado las paranoias de Stallman, de los fanboys o los talibanes que pululan por las redes sociales.
Una curiosidad es que, al ser escrito inicialmente a finales de los 90 del siglo pasado, C# y la plataforma .NET entera no existe.
Otra es que según sus palabras, este libro debería ser leído –básicamente- por programadores experimentados. Lo cual hasta cierto punto estoy de acuerdo, porque trabaja a un nivel bastante abstracto sin entrar en el código en sí.
Es importante a tener en cuenta que la obra tiene una gran parte sobre filosofía de la programación en UNIX, o en cualquier programación actual. Y tiene una parte práctica que podría ser interesante sobre todo a desarrolladores sobre Linux, de tal palo tal astilla, y al resto de las plataformas para entender las tripas de un SO complejo como este.
Además tenemos los capítulos relacionados con desarrollos Open Source desde un punto de vista de arquitectura, de gestión de equipos de desarrollo y de arquitectura física y lógica. Algo muy desconocido por casi todos los programadores que de por sí pocos son líderes de equipos, aún menos de equipos desarrollando Open Source.

El resumen y el concepto que tengo que mantener continuadamente en el desarrollo de mi profesión es el principio inicial de la filosofía Unix: KISS.
Y que básicamente dice que en la simplicidad está la belleza y la eficacia. Principio que rompemos una y otra vez buscando la excelencia por medio de complicar y complicar cada vez más el código o la arquitectura o la metodología de trabajo o cualquier cosa que pueda hacerse complicada. Cayendo en el error de pensar que cuanto más complejo mejor.
La ‘filosofía Unix’ se originó con meditaciones tempranas de Ken Thompson sobre cómo diseñar un sistema operativo pequeño pero potente con una interfaz sencilla…
…Absorbió las lecciones de muchas fuentes en el camino.
La filosofía de Unix no es un método de diseño formal. No fue dictada desde las altas esferas de la ciencia computacional teórica como una manera para producir software teóricamente perfecto. Tampoco es el espejismo perenne del Ejecutivo: alguna forma para extraer mágicamente software innovador pero confiable en un plazo demasiado corto de programadores desmotivados, mal gestionados y mal pagados.
En el capítulo de “Basics of the Unix Philisophy” el autor nos muestra diferentes aproximaciones por los padres de UNIX que de por sí son perlas de sabiduría del desarrollo. Me quiero referir a la visión de Doug Mcllroy, inventor de los pipeline de software, y que dice:
En resumen el vio la filosofía Unix así,
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Esta es la filosofía UNIX: Escribe programas que hagan una sola cosa y que la hagan bien. Escribe programas para que trabajen en conjunto. Escribe programas que manejen cadenas de texto, porque estas son un interface universal.
La filosofía UNIX se puede resumir en una tabla de reglas que, de forma sorprendente, siguen totalmente vigente y con aún mayor importancia en nuestros tiempos.
En resumen, un libro que merece una lectura en profundidad para entender de una forma mucho más profunda la visión de los grandes desarrolladores de nuestros tiempos.
Que lo disfrutes,
Autor | Eric S. Raymond
Enlace de descarga | En Open Libra | The Art of Unix Programming