@2+2=5 -- Re: It's "What's the best language" all over again
[...] but if there is some domain knowledge required in order to understand why an algorithm is the way it is then no amount of simplification is going to help. [Emphasis added]
Yes! This!! Naturally, using well-named variables should be automatic to any proper practitioner of the craft1, but variable names often cannot (and more often do not) convey the why of the program. Why did you choose to use this algorithm, or use this library, or use this odd, outside-the-lines coding technique? Cleverly-named variables won't convey that kind of information.
1Yet ,we all know how likely it is to find these things in your average program...