in reply to Loose vs. Tight Coupling
Code generation provides a way around some of these issues. A clever design can use loose coupling for development and maintenance and then generate tightly-coupled equivelent code when more efficient processing is required. For instance when processing large volumes of data method call overhead and the like can be inefficient, likewise dynamic control structures also can be inefficient, however both can be mechanically mapped to inline solutions. The resulting code isnt pretty at all but it is generally much faster than what it replaces.