logoalt Hacker News

socketclustertoday at 3:04 AM1 replyview on HN

We need abstractions more than ever. The real point is we should retire unnecessary abstractions.

A good abstraction is a single edged sword which simplifies the task. A mediocre abstraction is a double-edged sword. A bad abstraction is like a single edged sword with a restrictive handle and the sharp edge is facing towards you.


Replies

DarkNova6today at 8:30 AM

I'd say: A good abstraction is a formal and abstract statement about the nature of the underlying (sub)system. It is self consistent and allows an easier way to reason and interact with greater complexity underneath.

And the more you see an abstraction as a "wad of API calls and functionality", the more leaky the story gets.

Some systems are notoriously difficult to get this statement right because they are volatile and prone to changes. But I think as in live or in academia, our aspirations should be to strive for a better abstract understanding and keep building better abstractions.