← Back to context

Comment by PeterisP

4 months ago

Abstractions are inherently a tradeoff, and too much abstraction hurts you when the assumptions break.

For a major example, treating a network resource like a file is neat and elegant and simple while the network works well, however, once you have unreliable or slow or intermittent connectivity, the abstraction breaks and you have to handle the fact that it's not really like a local file, and your elegant abstraction has to be mangled with all kinds of things so that your apps are able to do that.