PeterNaur's essay "Programming as Theory Building" (1985) can be found, among other places, as an appendix to AlistairCockburn's AgileSoftwareDevelopment. See ProgramsRepresentMentalModels and SystemMetaphor