Naur’s viewpoint of software development as theory building is revisited. The consequen of that viewpoint are explored and some means for resolving the essentially pessimistic nature of those consequences are proposed – specifically the possibility of establishing a kind of “deep theory” that would provide a context for sharing project-centric program theories.