computer system design hints 1983

Hints for Computer System Design

Most of these hints depend on the notion of an interface that separates an implementation of some abstraction from the clients who use the abstraction

an interface should be simple, it should be complete, and it should admit a sufficiently small and fast implementation

The main reason interfaces are difficult to design is that each interface is a small programming language

Keep secrets of the implementation. Secrets are assumptions about an implementation that client programs are not allowed to make