I highly recommend reading the book Peopleware by DeMarco and Lister. It devotes a chapter to the programmer's environment and speaks passionately about how important it is to get it right. They get into details about offices. They also say that if you can't get the environment right, you might as well stop there. Of course, "environment" also includes things like frivolous interruptions, etc. Anyway, it's an excellent read:
http://www.amazon.com/Peopleware-Productive-Projects-Teams-S...
Joel Spolsky (another big fan of Peopleware) wrote on this when he had his office designed: