PDF de programación - Revisión bibliográfica: El Arte de Programar en Unix.

Imágen de pdf Revisión bibliográfica: El Arte de Programar en Unix.

Revisión bibliográfica: El Arte de Programar en Unix.gráfica de visualizaciones

Actualizado el 23 de Julio del 2017 (Publicado el 17 de Julio del 2017)
1.176 visualizaciones desde el 17 de Julio del 2017
402,5 KB
6 paginas
Creado hace 15a (10/01/2005)
LinuxFocus article number 313
http://linuxfocus.org

Revisión bibliográfica: El Arte de
Programar en Unix.

Abstract:

La presente revisión bibliográfica tratará de mostrar una perspectiva
clara y concisa de los temas centrales del libro que para la fecha en la que se
lee esto, debe estar listo para su venta.

La revisión se basó en la versión 0.87 del libro, ejemplar previo a la
publicación que se me hizo llegar para evaluarlo antes de su publicación,
en el transcurso de la realización de este artÃ-culo me di cuenta de que la
amplitud del tema que trata, aunado a la calidad de la manera en la que lo
hace, quizá merecerÃ-a un artÃ-culo más para continuar exponiendo
ampliamente las caracterÃ-sticas del libro, espero que sea asÃ-.

El Arte de Programar en UNIX.

TÃ-tulo
revisado:
TÃ-tulo original: The Art of UNIX Programming.
Autor(es):

Colaboraciones:

Páginas:

Eric S. Raymond.
Thompson, Kernighan, McIlroy, Arnold, Bellovin, Korn,
Gettys, Packard, Lesk, Feldman, McKusick, Spencer.
550 en esta versión.

by Edgar Hernández
Zúñiga.
<edgar(en)linuxfocus.org>

About the author:

AquÃ- deberÃ-a escribir un
poco de mi pero no hay
tiempo para ello.

_________________ _________________ _________________

Introducción

Eric S. Raymond, conocido por todos por La Catedral y El Bazar, realiza un trabajo excepcional. Este libro
será publicado en breve pero puede encontrarse en lÃ-nea y es, de hecho, con base en esa gran recopilación

1/6

de información basada en horas y horas de investigación y procesos que se nos permite tener una visión
general de muchas de las tecnologÃ-as y elementos que conforman a los sistemas Unix y a algunos de sus
derivados, por la que se ha conseguido llevar a la imprenta este libro.

El trabajo de Eric S. Raymond se ve apoyado de gran manera por la colaboración de grandes nombres, entre
ellos Ken Thompson, Brian Kernighan y Dennis Ritchie; curiosamente son el primero y último de quienes
acepta haber recibido la motivación para realizar este trabajo.

El libro se encuentra dividido en cuatro partes esenciales:






Contexto
Diseño
Implementación
Comunidad

Cada una de estas partes contiene diversos temas que van desde Conceptos básicos de la filosofÃ-a Unix
perteneciente al Contexto, hasta Mejores prácticas para trabajar con desarrolladores de Código Abierto,
pasando por conceptos de Modularidad, Diseño de protocolos para aplicaciones, Transparencia,
Minilenguajes y Complejidad en Diseño y Lenguajes y Herramientas en la parte que corresponde a la
Implementación. Además de todo esto, cada vez que se hace necesario se muestra un ejemplo práctico
que permite al lector incrementar la compresión de la lectura.

Muy a mi pesar, ya que disfruto más de hacer una revisión profunda de los libros que solamente citar el
contenido y dar una breve opinión, pero teniendo en cuenta que para los lectores pueda ser útil, añadÃ- el
Ã-ndice general del libro. Nuestro siguiente artÃ-culo será de un análisis más profundo del libro.

Tabla de contenido

I. CONTEXTO.

1. FilosofÃ-a.

¿Cultura? ¿Qué cultura?
La durabilidad de Unix.
El caso en contra del aprendizaje de la cultura Unix.
Qué está mal en Unix.
Qué está bien en Unix.
Conceptos básicos de la filosofÃ-a Unix.

La filosofÃ-a Unix en una lección.
Aplicando la filosofÃ-a Unix.
La actitud también cuenta.

2. Historia.
OrÃ-genes e historia de Unix, 1969−1995.
OrÃ-genes e historia de los hackers, 1961−1995.
El movimiento de Código Abierto: 1998 en adelante.
Las lecciones de historia Unix.

3. Contrastes.

2/6

Elementos de estilo del sistema operativo.
Comparaciones de sistemas operativos.
Qué hay alrededor.

II. DISEÑO.

4. Modularidad.

Encapsulación y tamaño óptimo de los módulos.
Compactación y ortogonalidad.
Bibliotecas.
Unix y los lenguajes orientados a objetos.
Codificación para la modularidad.

5. Textualidad.
La importancia de ser textual.
Metaformatos para archivos de datos.
Diseño de protocolos de aplicación.
Metaformatos de protocolo de aplicación.

6. Transparencia.
Algunos casos de estudio.
Diseñando para la transparencia y el descubrimiento.
Diseñando para la sustentabilidad.

7. Programación múltiple.
Control de separación de la complejidad para ajustar el rendimiento.
TaxonomÃ-a de los métodos IPC en Unix.
Problemas y metódos a evitar.
Procesos de particionamiento a nivel diseño.

8. Minilenguajes.
TaxonomÃ-a de los lenguajes.
Aplicando minilenguajes.
Diseñando minilenguajes.

9. Transformación.
Programación de control de datos.
Generando código ad−hoc.

10. Configuración.
¿Qué deberÃ-a ser configurable?
Dónde están las configuraciones.
Archivos de control de arranque.
Variables de ambiente.
Opciones de la interfaz de comandos.
Cómo escoger entre los métodos de configuración.
Al romper estás reglas.

11. Interfaces.
Aplicación de la regla: La menor sorpresa.
Historia del diseño de la interfaz Unix.

3/6

Evaluando diseños de interfaz.
Compensaciones entre CLI y las interfaces visuales.
Transparencia, expresividad, y configurabilidad.
Patrones de diseño de la interfaz Unix.
Aplicando los patrones de diseño de la interfaz Unix.
El navegador web como front end universal.
El silencio es de oro.

12. Optimización.
No solamente hagas algo, ¡manténlo!.
Medir antes de optimizar.
Lo no adecuado es considerado dañino.
Rendimiento de procesamiento contra latencia.

13. Complejidad.
Hablando de complejidad.
Una historia de cinco editores..
El tamaño indicado para un editor.
El tamaño indicado del software.

III. IMPLEMENTACIÓN.

14. Lenguajes.

Cornucopia de lenguajes Unix.
C, ¿por qué no?
Lenguajes interpretados y estrategias mixtas.
Evaluaciones de lenguajes.
Tendencias para el futuro.
Escogiendo un conjunto de herramientas para X.

15. Herramientas.
Un sistema operativo amistoso con el desarrollador.
Escogiendo un editor.
Generadores de código para propósitos especiales.
Usando make en otras partes además de C/C++.
Sistemas de control de versiones.
Depuración durante el tiempo de ejecución.
Perfilar.
Emacs como front end universal.

16. Reuso.
La historia de J. Random Newbie.
Transparencia como llave del reuso.
Del reuso al Código Abierto.
Las mejores cosas de la vida son abiertas.
¿En dónde debo mirar?.
¿Cuáles son los temas en el uso de software de Código Abierto?
Temas de licenciamiento.

IV. COMUNIDAD.

4/6

17. Portabilidad.

Cornucopia de lenguajes Unix.
Evolución de C.
Estándares Unix.
Especificaciones como DNA, código comp RNA.
Programando para la Portabilidad.
Internacionalización.
Portabilidad, estándares abiertos y Código Abierto.

18. Documentación.
Conceptos de documentación.
El estilo Unix.
El zoológico de los formatos de documentación Unix.
El caos actual y las posibles opciones.
La herramienta DocBook.
Cómo escribir documentación Unix.

19. Código Abierto.
Unix y Código Abierto.
Mejores prácticas para trabajar con desarrolladores de Código Abierto.
La lógica de las licencias: Cómo escoger una.
Porqué debes usar una licencia estándar.
Variedades en el licenciamiento de Código Abierto.

20. A futuro.
Esencia y accidente en la tradición Unix.
Problemas en el diseño de Unix.
Problemas en el ambiente de Unix.
Problemas en la cultura de Unix.
Razones para creer.

A. Glosario de abreviaciones.
B. Referencias.
C. Contribuidores.

Cultura y filosofÃ-a Unix

Como mencionaba antes, además de un opinión personal acerca del libro, creo que se puede tomar una
amplia ventaja de realizar una análisis sistemático que permita mostrar tanto el contenido del libro como
una idea clara del mismo para aquellos que quizá no podrán leerlo completamente.

Para quienes cuentan con experiencia en el mundo Unix, asi como algunos sistemas operativos derivados en
mayor o menor grado de este, no es nada raro escuchar el término: FilosofÃ-a, Unix es una filosofÃ-a,
además de un cultura es un modo de vida, un modo de hacer las cosas, una manera en la cual se consigue un
esquema completamente distintivo de programación, por ejemplo.

Unix está basado en una poderosa filosofÃ-a de diseño que le ha permitido, desde su nacimiento en 1969,
ser una referencia para la creación de gran cantidad de sistemas operativos.

5/6

Lo básico de la filosofÃ-a Unix

La filosofÃ-a Unix, iniciada evidentemente por Ken Thompson entre su confusión por diseñar un sistema
operativo pequeño pero altamente capaz y sus lecciones aprendidas de diversas fuentes, no puede
determinarse como un método formal de diseño, está basada completamente en la experiencia.

En el libro encontrarás grandes temas para estudio, una de las partes de las cuales se puede tomar provecho
es aquella en la que se nos motiva a abstraernos a fin de mantener en mente algunas de las siguientes ideas
básicas que forman parte de la filosofÃ-a Unix:

Modularidad: Escribir partes de código pequeñas pensando en conectarlas a través de interfaces.
Composición: Diseñar programas que se conectarán a otros programas.
EconomÃ-a: El tiempo del programador es caro, consérvalo.
Optimización: Realiza un prototipo antes de pulir. Ponlo a trabajar antes de que pienses en optimizarlo.
Extensibilidad: Diseña para el futuro, porque llegará antes de lo que te imaginas.

Conclusión y recomendaciones

Es, y sin temor a equivocarme un libro excelente. Eric Steven Raymond, hace un gran trabajo de
recopilación y con un estilo verdaderamente bueno añadido a las referencias usadas para la creación de
este libro, como: El entorno de programación Unix de Kernighan y Pike, La filosofÃ-a Unix de Gancarz y, El
programador pragmático de Hunt y Thomas entre otros, consigue hacer necesaria su lectura, el libro está
dirigido a todos aquellos programadores que novatos, desean adquirir la experiencia necesario para mejorar,
asÃ- como para programadores que ajenos a Unix conocen de lenguajes como C, C++ y Java.

Tiene una bibliografÃ-a extensa que permite ampliar horizontes si as
  • Links de descarga
http://lwp-l.com/pdf5483

Comentarios de: Revisión bibliográfica: El Arte de Programar en Unix. (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad