Writing James Pryor is a popular young Harvard philosophy professor who shows The Matrix in class to illustrate points about Epistemology. His article Guidelines on Writing a Philosophy Paper is one of the best tutorials on any kind of writing:
Pretend that your reader is lazy, stupid, and mean. He's lazy in that he doesn't want to figure out what your convoluted sentences are supposed to mean, and he doesn't want to figure out what your argument is, if it's not already obvious. He's stupid, so you have to explain everything you say to him in simple, bite-sized pieces. And he's mean, so he's not going to read your paper charitably. (For example, if something you say admits of more than one interpretation, he's going to assume you meant the less plausible thing.)
I can think of no better advice for the kind of writing that programmers should be doing in designing and documenting their code. [Joel on Software]