points
7 months ago
| 2 comments
| HN
> And we must do everything in our power to keep complexity to its minimum and avoid accidental complexity.

We aren't avoiding nor minimising complexity (by being at higher levels) but merely being ignorant of it, which is okay, too; until the abstractions leak: For example, folks working in hpc / cybersecurity have no such luxury.

DarkNova6
7 months ago
[-]
You are right, I should have been more accurate in my depiction. Inherently technological problems require low level-technological solutions. There is no way around that.

But most complexity I see arrives from just moving data from A to B to automate everyday bureaucratic tasks or enable data analysis. And the needless complexity I encounter in such systems is just mind boggling.

Currently I am working on a government system which captures tasks for long running procedures such as approving power plants. And the way the devs are treating this system is borderline criminal, acting as if this is just another CRUD app without any structure or architecture.

reply
lmm
7 months ago
[-]
The idea that abstractions have to leak is a myth. We don't need fewer abstractions, just better ones. Abstractions that don't require obscuring the low-level details (e.g. typeclass/trait systems instead of interface/impl ones) help too.
reply
lelanthran
7 months ago
[-]
"All abstractions leak, but some are useful" - me, on HN for the last few years.

Roughly paraphrased, but my meaning is clear: the best abstractions are useful ones, not leakless ones.

reply