3 ms·
>Good developers know how things work. >Great developers know why things work. I disagree. I don't think anyone who knows the how but not the why ought to be
by quanticle 11y ago
>Good developers know how things work.
>Great developers know why things work.
I disagree. I don't think anyone who knows the how but not the why ought to be calling themselves a developer at all. Knowing why an application is laid out the way it is a key prerequisite for knowing what parts of the application you can change easily, and which parts will require careful regression testing.
- golergka 11y ago> I disagree. I don't think anyone who knows the how but not the why ought to be calling themselves a developer at all. So, you have never worked with insufficiently documented closed-source technology, where the only way to achieve required result or, especially, optimize performance is trial and error?
- derefr 11y agoThat assumes that knowledge is available from some extra-textual source (e.g. other developers.) I think the author means to say that great developers will, when handed an arbitrary undocumented mess, seek to use the code build a mental model of the intent of its designer—whereas regular developers will stop after building a mental model of the code itself.
- chris_wot 11y agoIt depends. There are cases where the intent of the designer is bat-shit insane and it's just not worthwhile (after a while) to really get to grips with the code. There are times when it's best to rip out the code and replace it entirely. Admittedly, this occurs less frequently than when refactoring would be appropriate, but it does occur.
- quietplatypus 11y agoThat would be about my reading of this article as well, at least my most charitable reading. Peter Naur's "Programming as Theory Building", while not getting some important points right, is right enough to set anyone on the right track.