1 de junio de 2021

Prólogo.

Estimado lector:

    En 1962 ya se conocían ampliamente los conceptos de análisis y diseño de algoritmos y programación de computadoras, tanto así que Donald E. Knuth comenzó su titánica labor de documentar, en varios volúmenes de texto conocidos en conjunto como The Art of Computer Programming, su experiencia como programador. Hoy, en pleno siglo XXI, los conceptos expuestos por Knuth siguen siendo válidos, aunque, definitivamente, la labor del programador de computadoras se ha vuelto demasiado demandante y compleja.

    En nuestros tiempos, los profesionales del desarrollo de sistemas de software no sólo deben conocer un lenguaje de programación, sino que deben ser capaces de analizar requerimientos, diseñar la arquitectura de dicho sistema e invertir una gran cantidad de tiempo en validar el producto. Desafortunadamente, las tecnologías, las metodologías y los lenguajes de programación han evolucionado tan rápidamente que han dejado rezagados a los estudiantes de la disciplina del software. Muchos egresados de las universidades no tienen muy claro el reto al que se enfrentan ni tienen habilidades sólidas de análisis y uso adecuado de paradigmas de programación.

    Actualmente existen muchos libros que tratan sobre cómo escribir programas utilizando el lenguaje C. También, existen varios libros dedicados a exponer la teoría de los paradigmas de programación (estructurada, funcional, orientada a objetos, etcétera). Además, existen algunos libros que enseñan al lector a utilizar adecuadamente alguno de estos paradigmas para diseñar algoritmos que se implementan utilizando un lenguaje específico. Sin embargo, existen pocos libros que enseñan un paradigma específico utilizando un lenguaje específico para estudiantes que hablan una lengua específica.

    El libro que me honro en presentar al lector, escrito por el maestro Ricardo Ruiz Rodríguez, no sólo es producto de la experiencia docente del autor, que en sí misma es invaluable, sino que se deriva de un anhelo sincero de presentar el enfoque de la programación estructurada a los estudiantes en las universidades de México de una manera clara y didáctica. El libro ilustra conceptos de la programación estructurada como estructuras de control, descomposición funcional, recursividad y estructuras de datos básicas. Además, el presente texto detalla cómo utilizar los conceptos anteriores utilizando el lenguaje C.

    Esperamos que el presente libro le sirva como guía en su interminable aprendizaje y que le sirva como apoyo en su ruta hacia la excelencia como ingeniero de software. En éste camino debe enfrentarse a innumerables retos y adquirir conocimientos cada vez más avanzados, y dichas tareas se hacen más sencillas cuando se dispone de fundamentos sólidos, los cuales deseamos que el libro ayude a construir. Sin más por el momento, le envío un cordial saludo.


Dr. Tomás Balderas Contreras
Software Engineer
Guadalajara Design Center, Intel.