Revisiting Knuth and McIlroy's word count programs (2011)
I briefly investigated literate programming a long time ago and came away with similar conclusions --- you can achieve a very similar effect by simply drowning your source code in needlessly verbose comments, and being able to move around blocks of code with no regard to their execution order is more obfuscation than anything else. Ironically, the &quot;modern&quot; programming style commonly seen in Java and C# seems to be approximating this, with their verbosity and highly scattered execution flow.<p>This is extremely undesirable for debugging, but then again, Knuth probably doesn&#x27;t need to; the fact that TeX is written using his literate programming tools, yet remains remarkably bug-free, should be taken more as an endorsement of his skill than the tools.<p>The underlying philosophy behind literate programming seems to be concentrating on using human language, but from working with and observing a lot of other highly productive and effective developers, I&#x27;ve realised that trying to make programming more like a human language doesn&#x27;t really work; the way to go is to know the <i>programming</i> language, and the underlying machine, very very well. One of my favourite examples of this is APL, where those experienced can read and write programs in it as easily as they can a human language; programs which are completely incomprehensible to anyone who doesn&#x27;t know the language.