Paul Graham’s latest essay is on the topic of Great Hackers. In it, he talks about what motivates the best programmers. Here’s one of the points he makes, about tools:
When you decide what infrastructure to use for a project, you’re not just making a technical decision. You’re also making a social decision, and this may be the more important of the two. For example, if your company wants to write some software, it might seem a prudent choice to write it in Java. But when you choose a language, you’re also choosing a community. The programmers you’ll be able to hire to work on a Java project won’t be as smart as the ones you could get to work on a project written in Python.  And the quality of your hackers probably matters more than the language you choose. Though, frankly, the fact that good hackers prefer Python to Java should tell you something about the relative merits of those languages.
He goes on to talk about office space, management, and other topics concerning hackers. It’s amazing how few people writing software work in conditions that are ideal, or even suitable, for writing software.