Drawing on numerous examples from papers published in PLDI 2019, I argue that normalised data should usually be plotted on a logarithmic scale.
We accept that data structure determines program structure. But we should not forget that it is not just the input data that may be structured: output data may be structured too, and both may determine program structure.
We sometimes think of the number of passes in a compiler as a measure of the compiler’s complexity. But what if we could make compiler development more approachable by fully embracing the idea that a compiler should be structured as a large number of small passes, each performing a single specific task?