| ▲ | stingraycharles 8 hours ago | |||||||
That’s not some kind of law, though. And I’m also not sure whether it even makes sense, complexity is not a function of time spent working on something. | ||||||||
| ▲ | tmoertel 8 hours ago | parent | next [-] | |||||||
First, few of the laws on that site are actual laws in the physics or mathematics sense. They are more guiding principles. > complexity is not a function of time spent working on something. But the complexity you observe is a function of your exposure to that complexity. The notion of complexity exists to quantify the degree of struggle required to achieve some end. Ousterhout’s observation is that if you can move complexity into components far away from where you must do your work to achieve your ends, you no longer need to struggle with that complexity, and thus it effectively is not there anymore. | ||||||||
| ||||||||
| ▲ | CuriouslyC 6 hours ago | parent | prev | next [-] | |||||||
I think the intent is that if you can cleanly encapsulate some complexity so that people working on stuff that uses it don't have to understand anything beyond a simple interface, that complexity "doesn't exist" for all intents and purposes. Obviously this isn't universal, but a fair percentage of programmers these days don't understand the hardware they're programming against due to the layers of abstractions over them, so it's not crazy either. | ||||||||
| ▲ | Brian_K_White 7 hours ago | parent | prev [-] | |||||||
It's showing that all the complexity in the components are someone else's problem. Your only complexity is your own top layer and your interface with the components. | ||||||||
| ||||||||