This is an interesting case of the relationship between abundant and scarce resources. It used to be that transistors were scarce, so using the silicon in order to pack them well was the optimization goal. Nowadays, transistors reached a point of zero cost, but yield and the process nodes to make them are incredibly expensive, therefore, you get "wasted" silicon.<p>In programming, this is akin to programming in assembly, when no cycle can be spared, versus programming in the highest available language, when the programmer's attention and productivity is scarce.