| ▲ | smartmic 6 hours ago | |||||||
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. | ||||||||
| ▲ | throwaway5465 5 hours ago | parent | next [-] | |||||||
> 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. | ||||||||
| ▲ | Bewelge 5 hours ago | parent | prev | next [-] | |||||||
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. | ||||||||
| ||||||||
| ▲ | DaanDL 3 hours ago | parent | prev [-] | |||||||
The problem is also that every other year contracts/paradigms/... are broken, introducing bugs in libraries and documentation. | ||||||||