Portada de El arte de la programación

El arte de la programación

por Edsger W. Dijkstra · 1976

Ver sugerencias

Sinopsis

Una serie de ensayos que abordan la elegancia, corrección y eficiencia en el diseño de programas, enfatizando el rigor matemático y la claridad conceptual en la programación.

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

Gödel, Escher, Bach: Un Eterno y Grácil Bucle

Douglas Hofstadter

1979·divulgacion

Mientras que 'El arte de la programación' se centra en la estructura y claridad de un sistema computacional, este libro explora los bucles de retroalimentación, la auto-referencia y la emergencia de complejidad a través de ejemplos en la lógica, el arte y la música, ofreciendo una perspectiva meta-teórica sobre la creación de sistemas y patrones, incluidos los programáticos.

Una breve historia del tiempo

Stephen Hawking

1988·divulgacion

Aunque superficialmente diferente, ambos libros buscan desentrañar sistemas complejos y organizarlos de manera comprensible. Dijkstra busca la elegancia y la estructura clara en el software, mientras Hawking busca la elegancia y la estructura en el cosmos, ambos aplicando principios de lógica y simplificación para abordar problemas de gran magnitud. La 'programación' de las leyes físicas puede verse como un análogo lejano a la programación de software.

Dijkstra buscaba una "revolución" en la forma de pensar la programación, alejándose de la codificación ad-hoc hacia una disciplina formal y estructurada. Kuhn explora cómo los cambios de paradigma afectan a una disciplina, un eco filosófico de cómo la visión de Dijkstra cambió la forma en que los programadores conceptualizaban su arte, pasando del código como un medio a la programación como una ciencia ingenieril.

Piense y hágase rico

Napoleon Hill

1937·divulgacion

Aunque de género muy diferente, ambos libros comparten una filosofía subyacente sobre la importancia del pensamiento estructurado y la disciplina. Dijkstra en 'El arte de la programación' aboga por la claridad mental y la abstracción para dominar la complejidad. Hill, por su parte, enfatiza que la riqueza y el éxito son el resultado directo de una profunda y organizada forma de pensar y planificar, una arquitectura de pensamiento similar pero aplicada a la vida personal y profesional.

Mientras Dijkstra sentaba las bases para la programación estructurada y la verificación formal, Robin Milner, un autor menos conocido fuera del ámbito de la informática teórica, desarrolló un pilar fundamental para la robustez y seguridad de los lenguajes de programación de una forma muy formal y matemática, esencial para la 'corrección' que Dijkstra tanto valoraba. Ambos se centran en los principios subyacentes y la elegancia matemática.

De la complejidad a la inteligencia

Heinz von Foerster

1993·filosofia

Dijkstra buscaba disciplinar la complejidad de los programas. Von Foerster, un cibernético de origen austriaco mucho menos publicitado en círculos generales, explora la complejidad desde una perspectiva fundamentalmente diferente: cómo emergen la inteligencia y la organización de sistemas complejos. Ambos abordan la complejidad, pero Dijkstra desde la construcción y Von Foerster desde la observación y emergencia, proporcionando un diálogo filosófico intrigante sobre la esencia de los sistemas.

A Discipline of Programming

Edsger W. Dijkstra

1976·ensayo

Este libro, también de Dijkstra, es una continuación directa y una formalización del enfoque presentado en 'El arte de la programación'. Si bien 'El arte...' es más una filosofía y un conjunto de principios, 'A Discipline...' formaliza la 'ingeniería del programa' con una estructura rigurosa de teoremas y pruebas, demostrando cómo construir programas correctos con una estructura lógica inexpugnable, en lugar de probar su corrección de forma posterior.

El libro de Dijkstra, aunque no es su tratado más formal, aboga por una claridad de pensamiento fundacional en la programación. Este libro de Petzold desglosa el trabajo original de Turing, el padre de la computación, que establece las bases teóricas de la programación. Ambos libros, en sus respectivas épocas, exponen las estructuras fundamentales y lógicas de los sistemas computacionales de forma rigurosa. 'The Annotated Turing' es una disección estructural de la arquitectura conceptual de la computación misma, mostrando cómo una idea se construye desde los axiomas hasta sus implicaciones.

Ayúdame a que yoleo sea sostenible