Además de escribir sobre Linux y escribir reseñas y tutoriales sobre distribuciones y herramientas, también estoy muy involucrado en el desarrollo de software. Desafortunadamente, el 99.9% de ese desarrollo de software tiene lugar en la plataforma Windows.
Tengo más de 20 años de experiencia como desarrollador de C ++, Visual Basic, VB.NET y C #, y también soy un experto en SQL Server como DBA y desarrollador.
Lo que no soy tan bueno es desarrollar software para Linux. Es solo algo con lo que nunca me he molestado. La razón principal es que, después de desarrollar software durante el día, lo último que quiero hacer es sentarme en una noche escribiendo más software.
Obviamente, me gusta jugar con las secuencias de comandos y escribir algún programa pequeño y extraño. Estos son generalmente para proyectos basados en electrónica en la Raspberry PI.
Una cosa con la que muchos desarrolladores en la plataforma de Windows tendrán problemas cuando se muden a Linux por primera vez es conocer las herramientas necesarias para crear y empaquetar aplicaciones.
Con mucho, el tipo de aplicación más fácil de desarrollar son las aplicaciones web, ya que generalmente no requieren código compilado (PHP, Perl, Python) y los archivos se implementan en un lugar establecido en el servidor web.
Un gran número de aplicaciones creadas para Linux se desarrollan utilizando C, C ++ o Python. Compilar un solo programa de C es relativamente fácil, pero cuando necesita compilar varios programas de C con múltiples dependencias, las cosas se ponen un poco más complicadas.
GNU Make es una herramienta de creación de scripts de automatización que le ayuda a compilar sus aplicaciones una y otra vez y de diferentes maneras. Por ejemplo, puede proporcionar un parámetro que, según el valor, compilará una aplicación utilizando 64 bits o 32 bits.
El libro GNU Make ha sido escrito por John Graham-Cumming para ayudar a los usuarios de GNU Make a obtener un mayor control de las complejidades asociadas con GNU Make.
El libro está dividido en seis capítulos:
- Los fundamentos revisados
- Makefile Debugging
- Construyendo y Reconstruyendo
- Escollos y problemas
- Empujar el sobre
- La biblioteca estándar de GNU Make
No creo que el libro esté realmente dirigido a principiantes porque carece de ciertas aclaraciones que cabría esperar al aprender un nuevo tema como "¿Qué es GNU Make?", "¿Cómo creo un archivo Make?", "¿Por qué? ¿Está utilizando la función Hacer mejor que compilar cada programa uno por uno? " y "¿Cómo compilo programas usando GNU Make?". Todas estas áreas temáticas están cubiertas en el manual de GNU Make.
El hecho de que el primer capítulo se llame "The Basics Revisited" en lugar de "The Basics" muestra claramente que se espera que tenga una base en el tema antes de comenzar.
El primer capítulo cubre todos los aspectos básicos, como el uso de variables, los entornos utilizados por los comandos y el entorno $ (Shell). A medida que el capítulo avanza, se aborda el tema de la comparación, las listas y las funciones definidas por el usuario.
Si ha estado utilizando GNU Make por un tiempo pero todavía no se considera un experto, hay algunos consejos y sugerencias que lo ayudarán a comprender ciertas complejidades que pueden no ser evidentes de inmediato.
El segundo capítulo será una bendición para aquellos de ustedes que han estado tratando de atrapar errores en los scripts de compilación. La sección "Depuración de Makefile" está llena de excelentes consejos y sugerencias para la depuración de Makefiles e incluye secciones sobre la impresión de valores de variables e incluso el volcado del valor de cada variable. Más adelante en el capítulo, hay una guía para el depurador de GNU que puede utilizar para pasar a través de los scripts.
El tercer capítulo incluye ejemplos de makefiles, pero más que eso le muestra cómo crear Makefiles que puede ejecutar una y otra vez.
"Errores y problemas" analiza las diferencias entre ciertos términos como = y: =, y ifndef y? =.
A medida que avanzaba en el libro, descubrí que, como no estoy intentando activamente usar GNU Make y mi conocimiento se encuentra en un nivel muy básico, algunos de los temas pasaron por alto mi cabeza.
Cuando llegué al capítulo "Empujando el sobre", mis ojos se pusieron vidriosos.
Mi resumen principal, si tuviera que resumir este libro, es que el autor claramente sabe lo que hace y ha tratado de transmitir la mayor cantidad de información posible.
El problema es que a veces, cuando un experto en el tema trata de escribir algo, tienen este "oh, es fácil, todo lo que tienes que hacer es …" aura acerca de ellos.
El sello de goma en la puerta trasera se desprendió la semana pasada y como tenía apenas un par de años, llamé a la compañía que lo colocó porque aún está en garantía.
La señora del teléfono dijo: "oh, eso está bien, te enviaré un nuevo sello".
Dije: "Oh, ¿tengo que ajustarlo yo mismo? ¿Es algo que puedo hacer?".
La respuesta fue "Claro que puedes, todo lo que tienes que hacer es quitar la puerta, colocar el sello y volver a poner la puerta".
Ahora mi pensamiento instantáneo fue "woah, rebobinar un poco allí. ¿Quitar la puerta?!?". No estoy calificado para quitar una puerta, montar un sello y volver a colocar la puerta. Eso se lo dejo a los expertos.
Con este libro, creo que necesitas otro libro y cierta experiencia en escribir Makefiles antes de que te resulte útil.
Creo que las sugerencias, los consejos y los conocimientos proporcionados ayudarían a algunas personas a decir "Oh, por eso es por eso" o "No me di cuenta de que podrías hacerlo de esa manera".
Por lo tanto, mi evaluación es que deberías comprar este libro si buscas una aclaración o un conocimiento más intermedio o avanzado sobre GNU Make, pero no es un libro para principiantes.