logoalt Hacker News

smartmictoday at 9:47 AM2 repliesview on HN

You make a good point. From a philosophical point of view, abstractions should hide complexity and make things easier for the human user. It should be like a pyramid: the bottom layer should be the most complex, and each subsequent layer should be simpler. The problem is that many of today's abstractions are built on past technology, which was often much better designed and simpler due to the constraints of that time. Due to the divergent complexity of today's abstractions and unavoidable leaks, we have a plethora of "modern" frameworks and tools that are difficult to use and create mental strain for developers. In short, I always avoid using such frameworks and prefer the old, boring basics wherever possible.


Replies

Bewelgetoday at 11:08 AM

I'm struggling to form a definitive statement about my thoughts here, but I'll give it a try:

Every (useful) abstraction that aims to make an action easier will have to be more complex inside than doing the action itself.

Would love for someone to challenge this or find better words. But honestly, if that's not the case, you end up with something like leftPad. Libraries also almost always cover more than one use case, which also leads to them being more complex than a simple tailored solution.

throwaway5465today at 11:07 AM

> divergent complexity of today's abstractions

The vast majority of websites and apps do not have complex divergent abstraction needs.

Some developers however require complex divergent abstractions in order to baffle brains and collect paycheck.