|
|
Este documento está disponible en los siguientes idiomas: English Castellano Deutsch Francais Nederlands Russian Turkce Arabic |
por Katja Socher <katja(at)linuxfocus.org> Sobre el autor: Katja es la editora alemana de LinuxFocus. Comenzó a usar Linux cuando descubrió Gimp hace algunos años. Puede visitar su página personal en here. Taducido al español por: David González Fernández <parmeno(at)wanadoo.es> Contenidos: |
Reseña bibliográfica: Beginning Linux Programming - Segunda ediciónResumen:
Se trata de una reseña del libro:
|
Comprar el libro no sólo le proporcionará unos 2Kg. de papel, sino también un montón de infomación sobre un gran número de temas. No es un libro para principiantes, más bien es el comienzo de un amplio espectro de conceptos y herramientas relativas al campo de la programación en Linux. Cada capítulo proporciona una completa introducción de forma que, tras leerlo, habrá adquirido una importante cantidad de conocimientos sobre cada uno de los temas tratados, y será capaz de resolver un montón de tareas usted mismo. Naturalmente no se convertirá en un experto en cada uno de los conceptos depués de leer el libro pero, usualmente, será suficiente y, en cualquier caso, estará capacitado para manejarse con los manuales u otra documentación que será mucho más actual que un libro dedicado a un asunto de evolución tan rápida.
Los autores nos explican que se puede hacer mejor con una herramienta en particular y en que tarea cada herramienta es especialmente buena y eficiente. Obtendrá ideas sobre lo que es posible hacer y sabrá que útil emplear y donde profundizar más para encontrar la solución que necesita.
Obtendrá una buena visión general de las muchas posibilidades que tiene como programador en Linux y podrá decidir entonces que cuestión merece una cantidad mayor de tiempo, que tiene más importancia para usted en vista a realizar un estudio más exhaustivo para llegar a ser un auténtico experto.
Aún siendo sólo una introducción dispone de tantos contenidos que, tras leerlo, querra usarlo a menudo como referencia cuando busque soluciones a problemas de programación o la manera implementarlas.
Claramente se trata de un libro hecho por programadores para programadores: dos programadores de Linux muy experimentados comparten sus conocimientos con otros programadores. Lo hacen por medio de una gran cantidad de ejemplos de prueba explicados en gran detalle. A través de estos ejemplos se meterá más facilmente en faena y verá como las ideas y conceptos explicados pueden implementarse de forma práctica. A menudo encontrará que puede usar los ejemplos para sus propios programas tal cual, o con unos cambios mínimos. Personalmente, yo recibí con agrado los ejemplos, y me ayudaron a entender y explorar el material del libro.
Amén de los abundantes ejemplos en cada uno de los capítulos los autores desarrollan una aplicación CD a lo largo del libro en la que los nuevos conceptos aprendidos son implementados. Capítulo a capítulo la aplicación aumenta en complejidad y prestaciones. Realmente aprecié bastante una aplicación completamente implementada como esta que, además, es explicada con detalle.
El libro comienza con una breve introducción sobre Linux y su filosofía y el uso de C y sus librerías bajo Linux antes de derivar en la programación shell. Después de mostrar unos conceptos generales del shell (como redireccionamiento y tuberías) el libro nos presenta el shell como un lenguaje de programación y conceptos como por ejemplo variables, condiciones, control del flujo del programa, listas, funciones, y "here documents" son explicados.
El capítulo 3 explica el concepto de ficheros en Linux donde todo, incluidos los dispositivos físicos, es tratado como un fichero. Comienza las llamadas al sistema de bajo nivel y a lo largo del capítulo los autores explican la librería estandar de entrada/salida (Standard I/O library).
El capítulo 4 se detiene en el entorno Linux. Los autores por ejemplo hablan sobre los argumentos de la línea de comandos y las variables de entorno con los que se puede variar el comportamiento por defecto de un programa. También muestran como un programa puede hacer uso de funciones de librería para manipular la fecha y los valores temporales así como para obtener información sobre si mismo, el usuario y la computadora en que está corriendo.
El siguiente capítulo trata sobre las terminales y diferentes aspectos sobre su control. Después de esta introducción a las terminales aprenderemos cosas de la librería "curses" que ofrece un modo para mostrar resultados en una ventana de terminal de manera gráfica.
El capítulo 7, relativo al manejo de datos, habla sobre la gestión de la memoria dinámica, bloqueo de ficheros y de regiones de archivos compartidos y, finalmente hace una introducción a la base de datos dbm.
En el capítulo 8 se introducen las herramientas de desarrollo que que facilitan el desarrollo y distribución de los programas. Primero make y makefile para gestionar multiples ficheros fuente son explicadas para, a continuación, pasar al control del código fuente mediante el uso de RCS y CVS. Por último se hace mención a patch, tar y gzip que se usan para distribuir y actualizar los programas.
El capítulo 9 trata la depuración de código. Después de comentar técnicas generales de depuración se presenta el depurador GNU gdb. Se habla también de herramientas de análisis estático como cflow y lclint. Finaliza el capítulo con Electric Fence y Checker, dos utilidades que ayudan a prevenir lagunas de memoria.
El capítulo 10 se refiere a los procesos y señales que controlan casi todas las actividades llevadas a cabo por un sistema linux. Empieza con la estructura de un proceso y seguidamente explica como se puede crear un nuevo proceso usando la llamada al sistema fork. Después de esto unos cuantos ejemplos introducen la interfaz de programación para las señales.
El capítulo 11 hace referencia a los hilos del estandar Posix. Empieza explicando la diferencia entre hilo y proceso y después introduce los mutexes y semáforos necesarios para escribir programas multihilo más complejos.
Los siguientes capítolos son relaticos a la comunicación entre procesos. Primero se explican las tubería. Tuberías anónimas normales, tuberias con nombre (FIFOs) y el paso de datos entre procesos no relacionados se explican.
Después se cubren los semáforos, la memoria compartida y las colas de mensajes. Los semáforos son necesarios para evitar que dos hilos o procesos accedan a una sección crítica a la vez y en el uso de memoria compartida que es una forma eficiente de compartir e intercambiar datos entre múltiples procesos. Las colas de mensajes proveen un medio razonablemente sencillo y eficiente para intercambiar datos entre dos processos no relacionados.
Para terminar se explican los sockets que se pueden usar como las tuberías funcionando en una red.
El capítulo 15 cubre Tcl: Tool Command Language. Los autores por ejemplo hablan sobre las órdenes y las estructuras de control, cadenas y listas en Tcl, entrada y salida además de las ampliaciones y aplicaciones de Tcl.
Tras una breve vista general de X aprenderemos sobre Tk, El kit de herramientas gráficas para Tcl en el próximo capítulo. Se nos presentan los widgets que ofrece Tk como marcos, etiquetas, botones, cajas, barras de desplaczamientp, escalas, texto y paneles. Se da un ejemplo con un puzzle compuesto por una imajen dividida en 15 piezas y los conceptos de menús, diálogos, esquemas de colores, fuentes, "binding", manejo de la geometría y foco y navegación son explicados.
A continuación aprenderemos sobre Gnome y Gtk+. Veremos la arquitectura de Gnome y su escritorio, programación para Gnome usando Gtk+ y el conjunto de widgets de Gtk+. Las posibilidades son enormes e incluso mayores que con TK. Los autores también desarrollan una aplicación para Gnome: un reloj analógico Gnome.
El siguiente capítulo es una introducción muy breve a la programación básica en Perl.
El capítulo 19 nos enseña las bases del HTML y sirve de introducción a la programación CGI que se trata en el siguiente cápitulo. aquí los autores nos dicen como crear los formularios en HTML necesarios en el lado del cliente y después como transmitir la información al servidor, decodificarla en C o Perl y dar respuesta de forma dinámica al cliente.
El libro termina con un capítulo sobre los controladores de los dispositivos físicos que aporta una vista general de como se escriben. Habla por ejemplo de los dispositivos de caracteres y los de bloques así como de la manera de depurar código en el núcleo.
Si es usted un administrador de sistemas, un programador o un auténtico amante de Linux seguramente adorará el libro.
|
Contactar con el equipo de LinuFocus
© Katja Socher, FDL LinuxFocus.org |
Información sobre la traducción:
|
2003-01-01, generated by lfparser version 2.34