This text provides a synthesis of four versions of program semantics - relational semantics, predicate transformer semantics, information systems and domain theory - showing that is is possible to do back-and-forth translation from any of these versions of program semantics into any of the others.