Portada de A Discipline of Programming

A Discipline of Programming

por Edsger W. Dijkstra · 1976

Sinopsis

Presenta un enfoque riguroso y formal para el diseño y la construcción de programas correctos, defendiendo la programación como una disciplina intelectual basada en la lógica y la prueba matemática.

Sé el primero en valorar este libro.

Más de Edsger W. Dijkstra

Ver autor →

Otras obras del mismo autor en el catálogo

Libros similares

Libros relacionados según distintos criterios de búsqueda

La vida, el universo y todo lo demás

Douglas Adams·1982·ciencia ficcion

Dijkstra priorizaba la claridad y la precisión en la programación. Del mismo modo, el humor de Adams, aunque absurdo, se basa en una lógica interna extremadamente precisa y detallada en la construcción de su universo. Ambos exploran cómo los sistemas (ya sea un programa o el universo) operan bajo reglas definidas, a menudo con resultados inesperados o irónicos. La búsqueda de la 'respuesta' en el libro es una metáfora de la búsqueda de la solución óptima en cualquier sistema complejo.

Gödel, Escher, Bach: Un Eterno y Gran Bucle de Oro

Douglas Hofstadter·1979·no ficcion

Mientras Dijkstra se centra en la disciplina de construir programas correctos, Hofstadter explora los límites y las paradojas inherentes a los sistemas formales, que son la base de la computación. Ambos abordan la estructura del pensamiento y la inferencia, pero Hofstadter lo hace desde una perspectiva más metafórica y filosófica, revelando la belleza y las 'trampas' en la lógica que Dijkstra buscaba evitar con su metodología rigurosa.

Zen y el arte del mantenimiento de la motocicleta

Robert M. Pirsig·1974·filosofia

Dijkstra abogaba por una aproximación consciente y estructurada a la programación, donde cada paso se justificaba lógicamente para lograr la 'calidad' de un programa correcto. Pirsig profundiza en la noción misma de 'calidad' en cualquier creación humana o sistema, mostrando cómo la atención meticulosa a los detalles y la comprensión profunda de los principios subyacentes son cruciales, ya sea en el mantenimiento de una motocicleta o en la construcción de software.

Pensar rápido, pensar despacio

Daniel Kahneman·2011·no ficcion

La disciplina de Dijkstra en la programación se trata precisamente de entrenar el 'Sistema 2' para evitar los errores y sesgos del 'Sistema 1' en el diseño de algoritmos. Kahneman expone los mecanismos cognitivos que Dijkstra busca mitigar en el proceso de desarrollo de software, donde la lógica rigurosa y la verificación formal son herramientas para superar las trampas de la intuición y el pensamiento rápido que pueden llevar a programas incorrectos o ineficientes.

El mundo de Sophie

Jostein Gaarder·1991·filosofia

Dijkstra, aunque un científico de la computación, era un pensador profundamente filosófico que cuestionaba los fundamentos de su disciplina. Gaarder introduce la filosofía de manera accesible y narrativa, explorando las mismas preguntas sobre el conocimiento, la existencia y la realidad que subyacen a cualquier sistema de pensamiento, incluyendo la lógica y la construcción de programas.

La novela de ajedrez

Stefan Zweig·1941·ficcion

La precisión analítica y la lógica que Dijkstra aplicaba a la programación son el corazón de la confrontación en el ajedrez. Zweig explora la obsesión, la disciplina mental y la abstracción del pensamiento necesarias para dominar un sistema complejo. El aislamiento del personaje principal para perfeccionar su 'código' mental del ajedrez resuena con la profunda concentración y el rigor intelectual que Dijkstra exigía en su propia disciplina.

Centuria: Cien pequeños poemas en prosa

Alessandro Baricco·1995·ficcion

Dijkstra abogaba por la modularidad y la descomposición de problemas complejos en unidades pequeñas y manejables para asegurar la corrección de un programa. Baricco presenta una estructura similar con sus 'cien pequeños poemas': cada pieza es una unidad completa, pero juntas forman un conjunto más amplio. Esta fragmentación de la narrativa en módulos discretos, cada uno con su propia lógica y conclusión, refleja el enfoque de Dijkstra hacia la construcción de sistemas a partir de componentes bien definidos.

Rayuela

Julio Cortázar·1963·ficcion

Dijkstra enfatizó la importancia de la estructura y la legibilidad de un programa para su correcta verificación y mantenimiento. Cortázar juega con la estructura narrativa de una manera que desafía al lector a considerar múltiples 'rutas de ejecución' o 'caminos de lectura'. Esto refleja la idea de Dijkstra de que un sistema (ya sea un programa o un libro) puede tener diferentes órdenes de procesamiento, y la elección de la estructura afecta profundamente la experiencia y la comprensión del 'código' subyacente.