Small and fast compilers are required for microcomputers. They require fewer functional interfaces, fewer passes and much mixing of phases, and an avoidance of data transformations, that is, a tighter coupling. The tradeoff is a software package that is more difficult to maintain.