It's my observation that the lower levels of a tool stack need more design care than the upper-most layers. Mistakes at the lower levels are either much more costly, and/or affect far more users or products. This may be related to how many total users or applications rely on a layer, but I'm not prepared yet to say usage factor (users per statement) is the only reason for this pattern. Fastidious techniques necessary for the bottom layers may be overkill for the higher layers. For example, a dynamic or "script" language may be fine for an in-house application with relatively few users, but is not well-suited to build an RDBMS engine or OS out of. A typical stack may look like:
See also: SystemsSoftware