Portada de Goto considerado perjudicial

Goto considerado perjudicial

por Edsger W. Dijkstra · 1968

Sinopsis

Artículo que critica el uso de la instrucción GOTO en la programación, abogando por estructuras de control más ordenadas que mejoran la legibilidad y mantenibilidad del código.

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 Catedral y el Bazar

Eric S. Raymond·1999·ensayo

Mientras Dijkstra aborda la estructura mínima y la limpieza del código, Raymond extiende esa preocupación a la estructura organizativa del desarrollo de software. Ambos argumentan sobre principios de diseño que conducen a sistemas más robustos y comprensibles, pero Raymond lo hace en un contexto de colaboración de software masivo, un paso más allá de la preocupación individual del programador de Dijkstra.

Ensayos de programación estructurada

O.-J. Dahl, E. W. Dijkstra, C. A. R. Hoare·1972·ensayo

Si bien Dijkstra fue coautor, este libro es un desarrollo más profundo y colaborativo de las ideas de 'Goto considerado perjudicial'. En vez de ser una condena específica, es una exposición constructiva de las alternativas, consolidando la base teórica de la programación estructurada. Es una ampliación canónica, no obvia porque la gente suele citar solo el ensayo original, no su consolidación formal.

Sobre las metáforas que vivimos

George Lakoff, Mark Johnson·1980·filosofia

Dijkstra critica el GOTO no solo por su impacto técnico, sino también por el modelo mental y la forma de razonar que impone (o impide) al programador. Lakoff y Johnson analizan cómo las metáforas fundamentales dan forma a nuestro pensamiento. Ambos trabajos, aunque en dominios distintos, comparten una preocupación por cómo las estructuras subyacentes (instrucciones de control o metáforas) influencian profundamente la claridad, la coherencia y la capacidad de construir sistemas complejos o comprender el mundo.

La experiencia fluida y otros ensayos

Mihály Csíkszentmihályi·1997·ensayo

Dijkstra aboga por una programación que permita al programador mantener una construcción mental clara y razonable del programa, evitando saltos que rompan el 'flujo' cognitivo. Csíkszentmihályi describe cómo ciertas estructuras de actividad y desafíos permiten un estado óptimo de concentración y satisfacción. La crítica de Dijkstra al GOTO puede verse, en este contexto, como una barrera al 'flow' en la programación, interrumpiendo el estado mental inmersivo y coherente necesario para escribir buen código.

Por qué son importantes los objetos: un ensayo sobre la vida del computador

N. Katherine Hayles·2005·filosofia

Mientras Dijkstra se centra en la estructura conceptual del comportamiento del programa a nivel de código, Hayles explora la ontología de los objetos digitales en un nivel más abstracto, cuestionando cómo 'existen'. Ambos son ensayos sobre la naturaleza fundamental de la computación, pero desde perspectivas radicalmente diferentes: el 'orden' del código frente a la 'existencia' de la información, de una autora menos conocida en círculos de ingeniería de software.

El arte de la programación moderna

André Van Wijngaarden·1966·ensayo

Dijkstra fue un defensor de la programación estructurada y la claridad, ideas que se alineaban con los principios de ALGOL. Van Wijngaarden, un neerlandés, fue el arquitecto principal de ALGOL 68, un lenguaje notable por su rigor formal. Su trabajo complementa la postura de Dijkstra al mostrar cómo la claridad (la ausencia de GOTOs) puede incorporarse a través del diseño formal de un lenguaje en sí mismo, un autor menos conocido fuera de la historia de los lenguajes de programación.

Sobre los errores en el software: por qué ocurren y cómo prevenirlos

Robert L. Glass·1992·ensayo

Dijkstra advierte cómo una estructura de control específica (GOTO) conduce a programas incomprensibles y propensos a errores. Glass, a través de análisis de casos y principios de ingeniería de software, elabora sobre las causas estructurales y metodológicas de los errores, adoptando un enfoque práctico para evitarlos. Ambos libros abordan la 'salud' del código y la necesidad de estructuras que minimicen la complejidad y el potencial de fallos.

Principios funcionales del diseño de software: una aproximación práctica

Bertrand Meyer·2000·ensayo

Mientras Dijkstra critica una construcción que permite saltos arbitrarios, Meyer propone un marco formal (diseño por contrato) para asegurar la corrección del software, estableciendo 'contratos' claros entre componentes. Ambos autores abogan por estructuras que impongan disciplina y claridad, pero Meyer lo hace a través de mecanismos formales de especificación, buscando una predictibilidad y verificabilidad estructuralmente inherentes, contraponiéndose a la falta de estructura que criticaba Dijkstra.

Ayúdame a que yoleo sea sostenible