Flowcharts of programming language constructs
Pretty neat. Three things that occurred to me while reading it.(1) Makes it pretty clear why exceptions are even more of a control-flow nightmare than goto. What a messy graph.(2) The 'defer' diagram is a big WTF. Couldn't even figure out which box is supposed to represent which statement in the example.(3) I'd love to see a graph of the control flow when you throw in a few spurious lambdas like "advanced" C++ programmers tend to do (and similar in a few other languages). Might even make exceptions look good.