logoalt Hacker News

tmoerteltoday at 12:03 PM2 repliesview on HN

One that is missing is Ousterhout’s rule for decomposing complexity:

    complexity(system) =
        sum(complexity(component) * time_spent_working_in(component)
            for component in system).
The rule suggests that encapsulating complexity (e.g., in stable libraries that you never have to revisit) is equivalent to eliminating that complexity.

Replies

someguyiguesstoday at 3:27 PM

Unless you are the one having to maintain that library. Then it just migrates the complexity to another location.

stingraycharlestoday at 12:04 PM

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.

show 3 replies