Doing linear scans over an associative array is like trying to club someone to death with a loaded Uzi. — Larry Wall
Doing linear scans over an associative array is like trying to club someone to death with a loaded Uzi.
Author: Larry Wall
Insight: This programmer's metaphor has a deceptively practical lesson that extends beyond coding. Wall is describing what happens when you use the wrong tool for a job and somehow expect it to work better—spoiler: it doesn't. An associative array (a data structure organized by keys and values) isn't designed for scanning linearly. You're fighting against its architecture, wasting power and precision on something that should be quick. We do this constantly in life, though we call it something else: stubbornness, or just "the way we've always done it." We know our approach isn't quite right, but we keep doubling down, adding more effort instead of reconsidering the tool itself. Maybe you're trying to build deep relationships through sheer networking frequency, or solve an emotional problem through pure logic, or change someone else's mind by overwhelming them with facts. You've got a loaded Uzi when a simple conversation would do. The real insight isn't about optimization—it's that the best solutions often mean stepping back to ask whether you're even using the right instrument. Sometimes doing less, with the right approach, beats doing more with the wrong one.