I. El Argumento Real de Naur

El Argumento Real de Naur

El ensayo de Peter Naur “La programación como construcción de teoría” (1985) propone que la programación debe entenderse no como la producción de textos de programa sino como la construcción de teoría en las mentes de los programadores.


Las Tres Capacidades

Esta teoría, basándose en la epistemología de Gilbert Ryle (1949), abarca:

  1. Capacidad explicativa — El programador puede explicar cómo la solución se relaciona con el mundo que aborda
  2. Capacidad justificativa — El programador puede explicar por qué cada parte es como es
  3. Capacidad modificatoria — El programador puede responder constructivamente a demandas de cambio

La tercera capacidad es crucial. Cualquiera puede leer código y entender qué hace. Solo alguien con la teoría puede saber cómo cambiarlo correctamente cuando las circunstancias cambian.


La Afirmación Central

La afirmación central de Naur es que la teoría “no podría concebiblemente expresarse” en documentación porque involucra conocimiento tácito que desafía la formalización:

“La dependencia de una teoría en la comprensión de ciertos tipos de similitud entre situaciones y eventos del mundo real da la razón por la cual el conocimiento que posee alguien que tiene la teoría no podría, en principio, expresarse en términos de reglas. De hecho, las similitudes en cuestión no son, y no pueden ser, expresadas en términos de criterios, como tampoco pueden serlo las similitudes de muchos otros tipos de objetos, como rostros humanos, melodías o sabores de vino.”

Esta es una afirmación epistemológica, no económica. Naur no está diciendo “nos falta tiempo para documentar apropiadamente”. Está diciendo que la teoría involucra el reconocimiento de similitudes que están, en principio, más allá de la formulación explícita.

La distinción importa. Si el problema fuera el tiempo, más esfuerzo lo resolvería. Si el problema es epistemológico, ninguna cantidad de esfuerzo ayuda.



🏠 Reflexiones de un desarrollador solitario