How, Then, Should We Program?

Since the first papers on "Aliasing in Object-Oriented Programming" appeared, since the Geneva Convention on Aliasing, since the developments in Ownership Types, in Separation Logic, and all the other developments related in this volume, two competing dynamics can be seen underlying the research in this area. These dynamics are not unique to aliasing: indeed given sufficiently broad definitions, most computer science or software engineering research can be ascribed to one of these approaches, or perhaps lying somewhere between the two.