Hacker News new | ask | show | jobs
by _gabe_ 1400 days ago
> Another thing that rubs me wrong is the recurring notion that we need to get rid of the text as a representation of code.

I completely agree with this notion. However, I feel like we're sorely missing out on some form of visual exploration. I feel like the majority of my time is spent trying to understand the flow of execution of a program I'm trying to maintain that was written by other teams that are long gone.

It would be so amazing to be able to "zoom out" from the text and get a graph view of execution flow through different files. And then being able to highlight a particular execution flow that you're studying would be great. I know we already have some flavors of this with "find all references", or something like Visual Studio's profiling tools that highlight flows of execution, but none of these have ever felt like they improve the exploration of the codebase very much.

It would be very interesting to see some tools that allow a more fluid exploration of an unknown codebase. More akin to zooming out of a Google map view and tracing flow from point to point, instead of diving headfirst into a million files looking for the correct information.

4 comments

Yes, like crocodile clips for a circuit board, I can insert a probe into a circuit and see what's on the wire.

When your callstack is 50 methods deep and there's 20 layers involved and marshalling and it's difficult to see what is going on.

I want to mark two pieces of code and see the data structures passing through them, similar to a debugger but more like a log file or trace like Jaegar or Kibana. But the actual POJO or JSON objects themselves.

This is a great analogy and captures what I meant very clearly! It would be awesome to pinpoint two pieces of code and ask for the execution flow visualizer for that path :)
Thank you for sharing your idea with us :-)
I've felt like this for a very long time, and it's disappointing that there aren't really any tools to do this yet. It would make it so much faster to come up to speed on a new codebase, and also to see where some potential problems might lie.
Sourcetrail actually tried to do that for a select few languages https://github.com/CoatiSoftware/Sourcetrail

Sadly, they retired the entire project a while back.

This looks very cool and pretty similar to what I was visualizing. I'll have to download it and play around with it for a bit :)
Seems like you’re describing architecture or sequence diagrams.