• go to Edsger W. Dijkstra's profile page
  • go to A. J. Perlis 's profile page
  • go to Robert W. Floyd's profile page
  • go to Yann LeCun's profile page
  • go to Michael Stonebraker's profile page
  • go to Jeffrey D Ullman's profile page
  • go to J. H. Wilkinson 's profile page
  • go to Leslie G Valiant's profile page
  • go to Judea Pearl's profile page
  • go to Joseph Sifakis's profile page
  • go to Andrew C Yao's profile page
  • go to Yoshua Bengio's profile page
  • go to Edgar F. Codd's profile page
  • go to Avi Wigderson's profile page
  • go to Michael O. Rabin 's profile page
  • go to E. Allen Emerson's profile page
  • go to Ivan Sutherland's profile page
  • go to Sir Tim Berners-Lee's profile page
  • go to Charles P. Thacker's profile page
  • go to John McCarthy's profile page
  • go to Charles W Bachman's profile page
  • go to Raj Reddy's profile page
  • go to Robert E Tarjan's profile page
  • go to Robert E Kahn's profile page

Peter Naur DL Author Profile link

Denmark – 2005
Short Annotated Bibliography
  1. Naur, P., “The Place of Programming in a World of Problems, Tools, and People,” Proceedings IFIP Congress 65, 1965, pp. 195-199. This investigates the problem of how the real-world problem, the programmer, and his tools (such as a programming language) relate to each other. How does the programmer’s view of a problem change when his tools change, say from having a computer to not having one?
  2. Naur, P., “Proof of Algorithms by General Snapshots,” BIT Nordisk Tidskrift for Informationsbehandling, Vol. 6 (1966), pp. 310-316. This presents a constructive approach to proving program correctness by introducing the technique of invariants. This paper is widely considered to be one of the first on proving programs correct.
  3. Naur, P., “Programming by Action Clusters,” BIT Nordisk Tidskrift for Informationsbehandling, Vol. 9 (1969), pp. 250-258. Here Naur argues that in order to establish the connection between the requirements to be satisfied by the program and the program itself, it should be possible to join logically related statements together to form action clusters. To do this effectively, the programming language should include special clauses for delimiting the clusters.
  4. Naur, P., Concise Survey of Computer Methods, Studentlitteratur, Lund, 1974. This book exemplifies the school of thought underlying Copenhagen’s Institute of Datalogi during the 1960s and 1970s. Choosing the right representations of a problem is key, and Naur argues that advocating formal reasoning in an a priori fixed notation is often impractical.
  5. Naur, P., “Programming Languages, Natural Languages, and Mathematics,” Communications of the ACM, Vol. 18, Num.12 (Dec. 1975), pp. 676-683, available here.This paper examines the similarities and differences between programming languages, natural languages, and mathematics. Can the rich past of the latter two help us anticipate future developments in programming?
  6. Naur, P., “Formalization in program development,” BIT Nordisk Tidskrift for Informationsbehandling, Vol. 22 (1982), pp. 437-453. Here Naur invalidates common arguments given in defence of formalization in program development. Only formal specification styles that enhance the programmer’s intuitive understanding are recommendable in practice.
  7. Naur, P., “Intuition in software development,” Formal Methods and Software Development, Vol. 2: Colloquium on Software Engineering, Ed. by H. Ehrig et al., Lecture Notes in Computer Science, Vol. 186, Berlin: Springer-Verlag, 1985, pp. 60-79. This contains a critique of the academic agenda of formalization. Human intuition is key in all stages of program development, and Naur suggests that banning it for the sake of mathematical rigor is harmful.
  8. Naur, P., “Programming as theory building,” In: Microprocessing and Microprogramming, Vol. 15 (1985), pp. 253-261. This contains a treatment of programming as a human activity, and an invalidation of the approach that views programming as a set of rules of procedure to be followed by the programmer. In hindsight, this paper is a starting point for the now-popular Agile Software Development movement.
  9. Naur, P., Computing: A Human Activity, ACM Press/Addison-Wesley, New York, 1992. This is a compilation of Naur’s research papers along with previously unpublished material. The papers are clustered in 10 chapters by topic, not organized chronologically. Each chapter contains a retrospective commentary by Naur.
  10. Naur, P., Knowing and the Mystique of Logic and Rules, Kluwer Academic Publishers, 1995, xii + 365 pages, ISBN 0-7923-3680-1. This is a coherent critique of western philosophy, based on some of Naur’s previous publications. He invalidates several assumptions that many researchers in computing and adjacent fields take for granted. Naur’s main point is that description is the key issue for all sciences.
  11. Naur, P., Antiphilosophical Dictionary: Thinking – Speech – Science/Scholarship,. naur.com publishing, 2001, ISBN 87-987221-1-5, available here. This is a dictionary of (anti-)philosophical terminology. Each entry is defined in terms of the work and thoughts of a “great philosopher,” and followed by Naur’s biting critique of that philosophical definition.
  12. Naur, P., The neural embodiment of mental life by the synapse-state theory, naur.com publishing, 2008, ISBN 87-987221-5-8, available here. In the interest of helping mental patients, Naur protests against the commonly held (yet barely questioned) belief that the mind works like a computer. He presents illustrations of the structure of the nervous system in the brain. DNA, established by Crick and Watson, established what organic life is like at the molecular level. Naur discusses what life is like at the neural level of the nervous system. The book is based on previous work in psychology and neurology (e.g. James and Sherrington).