(There are now three recent threads on documentation in the Clojure Google group*. *The other threads are "Code Genres" and "Deep Thinking". It was actually *da...@axiom-developer.org's May* 4 post in "Deep Thinking" that stimulated these remarks; I posted in this thread only because it has "documentation" in the title, so the intent is clearer, but if you're new to these discussions, you should read the other threads as well.)
A thought crystallized out of my slight discomfort with some of the remarks on documentation in this group lately. I kept thinking "I have written good documentation in the past (sometimes), when other programmers with whom I worked didn't. And we didn't have any special tools. Just text editors. Why do I need special tools for documentation?" (Of course I do think special tools for documentation can be a good thing. sometimes, but I kept having this thought all the same.) We're programmers, so it's natural to try to problems by programming. In trying to improve documentation this could involve programming in the usual sense (writing code), or programming the programmers (creating informal or more formal standards for documentation). I used to work as a professional programmer, but now I'm a professor in a humanities discipline. (I do Clojure programming as part of some of my research projects.) I think a lot about writing clearly and about teaching. For both, there are are methods, guidelines, rules of thumb, things to try out, etc., but the most important thing is to try to think through what your intended audience needs in order to understand. And in the end, there are no fixed rules. Just figure out what your readers or students need, however you do it. That's exactly what good documentation involves: Figuring out what other programmers will need when they read your code. (And figuring out how to communicate that.) I think that some of the ideas that people have been proposing in these threads are good. There are some things that it's good to do routinely, even if you aren't thinking much about the intended audience. And the right tools and conventions can help convey information more clearly. Obviously, a lot of the discussion here is already focused on thinking about needs readers of code, so in a sense I'm not saying anything new. Still, thinking about programmers I've worked with in the past, a part of me wonders whether part of what's needed is not programming (with code or rules), but also a focus on cultivation of a set of skills that are not *programming* skills per se. Good tools or rules will only get us so far. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.