4 ms·
Extremely difficult, yes, but loads and loads of complexity is not a sign they are doing a good job solving it. Adding complexity to solve problems is mere cle
by api 3y ago
Extremely difficult, yes, but loads and loads of complexity is not a sign they are doing a good job solving it.
Adding complexity to solve problems is mere cleverness. Removing it is intelligence. Huge reductions in complexity without loss of function — or even with gain of function — is the definition of genius.
The more complex a solution is, the less intelligence is evident in its design.
I think this is related to how data compression is central to the way intelligence works.
- lxgr 3y agoVery well put. I've seen this in myself and others: There's a certain rush to creating a system so complex that you can barely master it yourself. But in a real system (one being actually used by people other than its designers, that have interests other than working on it and admiring the beautiful machinery), there is an infinite supply of complexity in the form of external constraints and internal one-way architectural decisions, and you'll be grateful for every single bit of complexity you can still chip off while keeping the system running. It takes good engineering to solve a problem, but it takes great engineering to solve a problem without creating three others elsewhere.
- api 3y ago> It takes good engineering to solve a problem, but it takes great engineering to solve a problem without creating three others elsewhere. Yeah that’s basically what I mean. There’s essential complexity and incidental complexity. The first is the complexity that comes from the real world. The second is self imposed due to design choices or path dependency effects. Minimizing the latter is good engineering. I do maintain that every once I a while someone finds a way to radically cut complexity without losing essential capability. That’s genius, and it’s rare.