3 ms·
Abstractions make it easier to reason, but you need a lot of suffering-the-detail to know what they should be (analogous to do things that don't scale). If abs
by hyperpallium 8y ago
Abstractions make it easier to reason, but you need a lot of suffering-the-detail to know what they should be (analogous to do things that don't scale).
If abstractions help you think, abstracting wrong makes you think wrong - and harder to think right than without them.
So it's helpful to use abstractions others have already schlepped out e.g. in mathematics... but there's no guarantee that it's the right one for your particular situation.
- colechristensen 8y agoI have experienced quite a lot of people pushing to over-abstract code (abstractions that will are used only once with reuse being wishful thinking for the far future) and very little pushback against as though reaching the "perfection" of abstracted code has a moral high ground. I would like to balance the difficulty of wading through abstractions with the difficulty of repetitive code, not to act like one difficulty is superior to the other.
- watwut 8y agoAfter working with people who refuse any kind of tiny little abstraction because "abstractions are complicated" and "even splitting it into named functions is step toward being like java", it is no better. It was high in repetition and whenever you changed something, you had to not forget five places. It was also hard to get the big picture of what was supposed to happen. There is such a thing as too little abstraction as much as there is too much abstraction.