This weekend I was going to spend some time at the lake writing a 2D plotting library in Haskell. But when I sat down to write it, I realized I had no idea what to do. There are so many pieces: mathematical functions, data points, error bars, axes, major/minor ticks, ranges, domains, labels, legends, bars, lines. I have no idea how they all fit together. Computer science is a zillion times harder than mathematics.

Do people publish papers on the theory of plotting? And when did I start planning what to program before I start programming? Nothing held me back when I was 14.