Interesting piece, but wow, that’s hard to read on Firefox:
At a previous job, we had some scripting around doxygen that, coupled with good indexing on a server where we hosted the output, gave us a really nice way to dig in along these lines. For code that was subject to the index, it was very easy to answer, at least for any public interface, “where is this used”.
These days, for a heterogeneous codebase, Upsource (Jetbrains gadget included with the toolbox subscription we all buy anyway) gets almost to where we were with that hand rolled thing, but with a ton less work. I’d love to work in a language/framework where that could be integrated in a first class way.
To those interested in these ideas, I strongly recommend checking out Unison.
The future is coming!
That’s really interesting! I recently learned about Ekeko, which let’s you query a Java codebase using logic programming. I think better code search and manipulation tools like this and what the blog post proposes are really the future. I look forward to seeing what else the author comes up with in this direction.
These examples are just the tip of the iceberg of what we should have had available years ago now, if we hadn’t all decided that the most important part of our identity was which 1970s editor we used to wrangle our 1-dimensional lifeless strings of ascii text. Our source code, compilers, refactoring tools, browsing tools, etc shouldn’t consist of batch transactions done against dead text, it should be a running system that exists in a dialog with the developers.