Hacker News new | ask | show | jobs
by Nab443 258 days ago
Interesting, my path is a bit like the opposite. I tend to avoid categories of tools that abstract too much the problem in a "magic" way for the same reason: you can't easily understand what's going on behind the scene, and you have to dive in each time you enter a corner case. If you can't control what it is doing on each step, then you can't be sure it will be doing what you expect and this can become a mental effort that outweight the tool benefits.
1 comments

True; in the same vain, tools that have more implicit and declarative philosophy - React, Kubernetes, most ORMs, Spring Boot - are also harder to understand and reason about for the same cause - you have to know exactly how the given tool works (new abstraction, magic) to understand what might happen at runtime.

We replace verbosity - since these tools are usually way more expressive than the thing they abstract away - with a new abstraction layer that allows us to type much less stuff but at the same time introduces a completely new cognitive complexity layer.

As always; sometimes they give more than they take, sometimes not ;)