3 ms·
Same goes for 'abstraction', it hides the essence of what is happening. Therefore every abstraction is evil.
by highmastdon 11y ago
Same goes for 'abstraction', it hides the essence of what is happening. Therefore every abstraction is evil.
- mercurial 11y agoHopefully this is sarcasm. Code without abstraction can also very efficiently hide what is happening by having a disastrous signal-to-noise ratio, combined with all the potential for errors you get when repeating the same pattern many times.
- Lawtonfogle 11y agoCode is abstraction. With no abstraction you have to build your systems with lots of nand gates and a clock.
- willstepp 11y agoAbstractions are necessary to write software, unless you speak binary code, so calling them evil is a bit hyperbolic. My point is at some level you have to trust the abstractions of a system or else nothing would get done. That doesn't mean you shouldn't have a conceptual understanding of the lower levels, but they aren't evil!
- VLM 11y agoIts possible to use abstractions that aren't inversions or leaky. Practically no one does a good job of it, so you are correct in practice and experience, although in theory it is possible and sometimes people do pull it off successfully. http://en.wikipedia.org/wiki/Abstraction_inversion http://en.wikipedia.org/wiki/Abstraction_inversion http://en.wikipedia.org/wiki/Leaky_abstraction http://en.wikipedia.org/wiki/Leaky_abstraction
- TallGuyShort 11y agoI think you should strive to understand what is happening under the abstraction, but abstraction is a useful tool. It's a bit like calling something a "crutch". Sounds bad, but what if you have a broken leg? Crutches allow you to get over the problem and make progress. I have to write software that runs on any hardware from any number of vendors and multiple operating systems. Not using abstractions would destroy my effectiveness.
- rjbwork 11y agoHow are people missing the sarcasm of this comment?