Comment by WillAdams

9 months ago

An interesting contrast to it is Ousterhout's observation:

>If you can visualize a system, you can probably implement it in a

>computer program.... This means that the greatest limitation in writing

>software is our ability to understand the systems we are creating.

Though interestingly it is in marked contrast to a different statement in the "Software Design Book" Google mailing list:

>John Ousterhout, Aug 21, 2018, 12:30:15 PM

>I've never felt that graphs are a particularly useful way of describing software structure.

>The interactions between classes end up so complicated that the graph becomes an unreadable mess.

>Also, I'm not sure that the complexity of a graph representation of software correlates with its

>practical complexity (the graph representation might look very complicated, but the software might

>still be pretty easy to maintain).

and I'd be interested if someone knows of a text/video/interview which resolves that twain, or what sort of visualization is advocated for/recommended.

Structure graphs are rarely useful for me, but visualizing the data flow is how I think about code in general. Sometimes it's graph-like, but more wishy-washy and I'm only holding the relevant parts for the task at hand in my head rather than everything.