Replies: 1 comment
-
|
This article is not against abstractions, it's against useless and unncecessary abstractions. Bad abstractions:
So, basically they are "one class for one task, no matter the complexity of task" type of abstraction and indirection. These types of abstractions don't offload mental burden, they create it. Good abstractions:
I.e. abstraction with simple interface and complex functionality. So it is what you say - "compresses complexity into manageable chunks". Shallow modules (bad abstractions) don't compress complexity, they spread it all over the interface. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I agree with the article—cognitive load is what matters in software dev (and in any complex tasks). But it gets the solution wrong: we don't fight overload by avoiding abstractions; we conquer it by learning them, just like in math. Mastering concepts like calculus compresses complexity into manageable "chunks," letting you tackle huge problems without mental explosion.
Every framework and lib are some other smart developer's quirks, but if they fit, they pay off at scale, offloading grunt work so your brain focuses on the big picture, that's why some frameworks are widely used (and widely criticized). Dodging them for "boring" simplicity often creates unscalable messes where every dev reinvents the wheel.
Beta Was this translation helpful? Give feedback.
All reactions