4 ms·
One thing really stood out for me from the book "Programmers at Work". Many of the programmers repeatedly emphasized the importance of data structures to both
by psranga 17y ago
One thing really stood out for me from the book "Programmers at Work".
Many of the programmers repeatedly emphasized the importance of data structures to both understanding programs as well to solving the problem. And after noticing how I work, I find that to be true.
English documentation of the core data structures is more important than verbose description of the steps in the algorithm. This is the key thing that is different among progarms. By and large, we use the same algorithms again and again. And I can trivially find English documentation of those to understand rapidly. I don't need it in the code also.
And by documentation I mean something that explains at a programming language level with the identifiers etc. For git, it would be insufficient to say "trees are collections of blobs". I would need to know the struct names and an explanation of each of the members. And whether the "collection" is a array/list/hash etc.
Having looked into literate programming, it seems to emphasize documenting the algorithms more than it does the data structures. Hence it misses the "big picture" which is what is really needed.
I'm not convinced that LP is useful.
- jsyedidia 17y agoLook at the gb_graph module of Knuth's "Stanford GraphBase" (the Stanford GraphBase is available for download at his web-site). His explanation of his graph data structures, written in CWEB, are the clearest documentation of a complex data structure that I have ever seen.