"programming as theory building", peter naur, 1985
@mntmn such a timeless piece
@mntmn
Feels especially apt right now

@mntmn reminds me of stuff that Kate Compton is working on. đŸ€” haven't read her thesis yet, maybe she actually cites him ^__^

https://galaxykate.com/

@mntmn Our design of this introductory computer-science subject reflects two major concerns. First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute. Second, we believe that the essential material to be addressed by a subject at this level is not the syntax of particular programming-language constructs, nor clever algorithms for computing particular functions efficiently, nor even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems." - The Structure and Interpretation of Computer Programs, Preface to The First Edition

@emassey0135 @mntmn

If only programming language designers would understand this better—that they’re designing something for humans to use, i.e. the purpose of programming languages is for humans to be able to (hopefully easily) describe complex systems.

Unfortunately this seems very hard to do in most programming languages.

@mntmn "Our traffic with the subject matter of this book involves us with three foci of phenomena: the human mind, collections of computer programs, and the computer. Every computer program is a model, hatched in the mind, of a real or mental process. These processes, arising from human experience and thought, are huge in number, intricate in detail, and at any time only partially understood. They are modeled to our permanent satisfaction rarely by our computer programs. Thus even though our programs are carefully handcrafted discrete collections of symbols, mosaics of interlocking functions, they continually evolve: we change them as our perception of the model deepens, enlarges, generalizes until the model ultimately attains a metastable place within still another model with which we struggle. The source of the exhilaration associated with computer programming is the continual unfolding within the mind and on the computer of mechanisms expressed as programs and the explosion of perception they generate. If art interprets our dreams, the computer executes them in the guise of programs!" - The Structure and Interpretation of Computer Programs, Foreword
@mntmn am i crazy or is this mostly introductory words and the reasoning is not part of the post?

@mntmn @kevlin This is a good article. Alas, what’s usually passed around is a mediocre scan of a reprint of the article in a book by Alistair Cockburn, with the article’s abstract removed and some introductory material from Cockburn added. For links to other sources, see this:

https://stuartmarks.wordpress.com/2026/02/24/naurs-theory-building-as-internet-samizdat/

@kevlin

Naur’s “Theory Building” as Internet Samizdat

Peter Naur wrote an article in 1985 entitled, Programming as Theory Building. I recommend reading it. It’s not too difficult to find. However, the first internet search hit is something of a 


Synchronous Messages