Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it'll be obvious."

-- Fred Brooks, The Mythical Man Month (1975)



When reviewing patches, I always look at the changes to .h files first, to see how the data structures are modified. Frequently you can predict exactly what the code changes are going to look like as a result.


I imagine that this doesn’t work as well with PIMPL code.


While I am completely in agreement with the intent of this aphorism, and also what the article says about the relational model, I feel this is (as aphorisms tend to be) something of an exaggeration. I think, for example, that it would be difficult to deduce the rules of cricket from its scoresheets.

Tell me your tables' semantics, however, and I think one could do much better. ..

I suspect that, when Brooks made that comment, he was probably thinking mostly in terms of programs for entering and reporting on that data. We're doing a lot more now.


Well, the scoresheet is not enough of course, you need all the "datastructures" (field design, player number and layout, equipment, etc).

edit: but yes, it can be a bit of an exaggeration. Figuring out all the red-black tree rules from just the structure definitions, relations and and invariants is probably a bit of a stretch for most.


OK, I'll grant you all that, but not the rules of play. Do you think that would be enough to figure out how to fill out a scoresheet correctly, without operational observations (i.e. without having previously watched a number of games or being told how it is played?) (As I don't play or watch the game myself, I am not certain it would not be possible, but I feel doing this would be difficult for almost any game.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: