Couple things that helped me understand literate programming: - A literate program has code and documentation interleaved in one file. - Weaving means extracting documentation and turning it into e.g. a pdf. - Tangling means extracting code in a form that is understandable to a compiler. A crucial thing to actually make this paradigm useful is the ability to change around the order of your code snippets, i.e. not let…
I’d guess that tools like Doxygen and Apple docc are probably the most obvious examples of documentation extraction. I’ve written code for many years, with Doxygen/Jazzy/docc in mind (still do[0]). I feel that it’s a big help. [0] https://littlegreenviper.com/leaving-a-legacy/
Literate programming is, in my opinion, only used very seldomly because keeping an accurate big picture view of a program up to date is a lot of work. It fits with a waterfall development process where everything that the program is supposed to do is known beforehand. It fits well with education. I think it is no coincidence that it was brought to prominence by D.E. Knuth who is also very famous as an educator.