Paul Graham's latest essay is out. This time, he's trying to explain to his Japanese audience why Americans do some things well (movies, software) and some things poorly (cars, roads, houses).
You can look at this as a pessimist, as a litany of things that Paul thinks Americans do poorly. I'm reading it as a set of guideposts on things we Americans (and we programmers) should best avoid. Americans don't have a culture that values craftsmanship that creates artifacts still prized 800 years after manufacture (compared to Japanese swords of the 1200s), or design that demands uncompromising attention and skill (like Japanese wood joinery). But we're a veritable font of creative artifacts -- including software.
We do things well when we solve a problem quickly and move on. That model works well for software, but less so for things like cars, bridges and homes. As programmers, we are at our best when we solve a problem and solve it quickly, instead of trying to build "elegant" design in code that is overly complex, buggy and generally solve the wrong problem, poorly.
(Funny, Perl encourages us to play to these strengths, and avoid these weaknesses. Unlike, say, C++. ;-)