This work on programming is aimed at those who know how very difficult a task it is. It adopts two approaches - focusing on program verifiability through reasoning about the program text and identifying a style of "abstract" formal concept definition for reasoning about programs.
Dahl wrote the chapter on object oriented programming in Structured Programming. He's not as well known as some other pioneers in the field, but since he was one of the two people most responsible for Simula, I decided to seek out more of his work.
This book follows the same basic outline as Structured Programming, but goes into more detail. To be honest, however, while I found the book useful, I prefer Dijkstra's and Hoare's works that cover the same topics.