Why LLMs can’t make your code simpler

tl;dr Peter Naur’s “Programming as Theory building” states that the real programs , what he calls Theory, with capital T, are in the mind of the engineers. The code & documentation itself are just downstream (and thus incomplete) artifacts. One of my main complaints about LLMs is how verbose the code is and how complexity creeps in everywhere. I always had some faith that we might improve that using metrics like LoC or the number of independent code paths to constrain them. However, after reading Naur I realized that the complexity we are trying to reduce is the Theory one, not the code, and there are no relevant measures for that because it’s very subjective.