Joel Spolsky writes about the different cultures of Unix and Windows, and gives a positive review of Eric Raymond's The Art of Unix Programming.
What are the cultural differences between Unix and Windows programmers? There are many details and subtleties, but for the most part it comes down to one thing: Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers.
This is, of course, a major simplification, but really, that's the big difference: are we programming for programmers or end users? Everything else is commentary.
How did we get different core values? This is another reason Raymond's book is so good: he goes deeply into the history and evolution of Unix and brings new programmers up to speed with all the accumulated history of the culture back to 1969.
Indeed I would recommend this book to developers of any culture in any platform with any goals, because so many of the values which it trumpets are universal.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):