4 ms·
As Naur describes this, the full code and documentation, and the resulting model you can build up from it is merely "walking the path" (as the blogpost put it),
by philipswood 1y ago
As Naur describes this, the full code and documentation, and the resulting model you can build up from it is merely "walking the path" (as the blogpost put it), and does not encode "building the path".
I.e. the theory of the program as it exist in the minds of the development team might not be fully available for reconstruction from just the final code and docs since it includes a lot of activity that does not end up in the code.
- skydhash 1y agoIt could be, if you were trying to only understand how the code does something. But more often, you're actively trying to understand how it was built by comparing assumptions with the code in front of you. It is not merely walking the path, if you've created a similar path and are comparing techniques.
- philipswood 1y agoAgreed. I like the paper and I think it raises important considerations, but it does overstate its case a bit. I mean - people do learn new codebases after all. It's just more difficult to do than some think.
- MarkusQ 1y ago> the theory of the program as it exist in the minds of the development > team might not be fully available for reconstruction from just the > final code and docs As an obvious and specific source of examples, all the features they decided to omit, "optimizations" they considered but rejected for various reasons, etc. are not present in the code and seldom in the comments or documentation. Occasionally you will see things like "Full search rather than early exit on match to prevent timing attacks" or "We don't write it in format xyz because of patent issues" or some such, but the vast majority of such cases pass unremarked.