El libro "The Unix Programming Environment" , publicado por primera vez en 1984 por Prentice Hall , fue escrito por Brian W. Kernighan y Rob Pike , ambos de Bell Labs , y se considera un documento importante y pionero del sistema operativo Unix .
Filosofía Unix
El libro aborda la filosofía Unix de pequeñas herramientas cooperativas con entradas y salidas estandarizadas. Kernighan y Pike ofrecen una breve descripción del diseño Unix y la filosofía Unix: [ 1 ]
Aunque el sistema UNIX introduce numerosos programas y técnicas innovadoras, ningún programa o idea por sí solo garantiza su éxito. Su eficacia reside, en cambio, en su enfoque de programación, en su filosofía de uso del ordenador. Si bien esta filosofía no puede resumirse en una sola frase, su esencia radica en la idea de que el poder de un sistema reside más en las relaciones entre los programas que en los programas mismos. Muchos programas UNIX realizan tareas bastante sencillas de forma aislada, pero, combinados con otros programas, se convierten en herramientas generales y útiles.
Los autores escriben además que su objetivo para este libro es "comunicar la filosofía de programación UNIX". [ 1 ]
Contenido y temas
El libro comienza con una introducción a Unix para principiantes. A continuación, aborda los fundamentos del sistema de archivos y la shell . El lector es guiado a través de temas que van desde el uso de filtros hasta cómo usar C para programar aplicaciones Unix robustas, y los fundamentos de grep , sed , make y AWK . El libro concluye con un tutorial sobre cómo crear un analizador de lenguaje de programación con yacc y cómo usar troff con ms y mm para formatear documentos, los preprocesadores tbl , eqn y pic , y cómo crear páginas man con el conjunto de macros man . Los apéndices cubren el editor ed y el lenguaje de programación mencionado anteriormente, llamado hoc , que significa "calculadora de orden superior".
Contexto histórico
Aunque Unix sigue existiendo décadas después de la publicación de este libro, este describe un Unix ya maduro: en 1984, Unix llevaba ya 15 años en desarrollo (desde 1969), se había publicado en una revista revisada por pares 10 años antes ( SOSP , 1974, "The UNIX Timesharing System"), y se habían publicado al menos siete ediciones oficiales de sus manuales (véase Versión 7 Unix ). En 1984, ya existían varias variantes comerciales y académicas de UNIX (por ejemplo, Xenix , SunOS , BSD , UNIX System V , HP-UX ), y un año antes Dennis Ritchie y Ken Thompson habían ganado el prestigioso Premio Turing por su trabajo en UNIX. El libro no se escribió cuando UNIX estaba empezando, sino cuando ya era lo suficientemente popular como para merecer la publicación de un libro para la gran cantidad de nuevos usuarios que se estaban incorporando.
En retrospectiva, 1984 no solo no fue una etapa temprana de la evolución de Unix, sino que en algunos aspectos fue el final de la evolución de Unix, al menos en Bell Labs : las variantes importantes de UNIX ya se habían bifurcado del Research Unix de AT&T con anterioridad: System V se publicó en 1983, BSD se basó en la séptima edición de Unix de 1979 , y la mayoría de las variantes comerciales de Unix se basaron en System V, BSD o alguna combinación de ambos. La octava edición de Unix salió justo después de este libro, y el desarrollo posterior de UNIX en Bell Labs (la novena y décima edición) nunca salió de Bell Labs , hasta que su esfuerzo evolucionó en el Plan 9 de Bell Labs .
Estilo de programación C
El libro se escribió antes de que se redactara la primera versión del estándar ANSI C ; los programas que contiene siguen el estilo antiguo de K&R . Sin embargo, el código fuente disponible en el sitio web del libro se ha actualizado para cumplir con el estándar ANSI C.
Recepción crítica
El editor técnico Ben Everard de Linux Voice elogió el libro por proporcionar documentación relevante a pesar de tener 30 años y por ser un buen libro para un programador aspirante que no sabe mucho sobre Linux . [ 2 ]
Ediciones
Notas
- Libros de no ficción de 1984
- Libros de programación informática
- Libros de ingeniería de software
- Libros sobre Unix
- Libros de Prentice Hall