Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This oversimplifies the measure of complexity by focusing on the difference between distributed and monolithic systems. A potentially interesting example I recently encountered was a monolithic system that used internal interfaces. Transitioning these internal interfaces from a synchronized design to an unsynchronized design effectively introduced much of the complexity of a distributed system into monolithic design.

Ultimately everything about data flow, typing, abstraction, and so on has some effect on performance, encapsulation, complexity, organization. In a way all aspects of development from onboarding to builds and tests to release distribution need to be measured the same way we take into account of resource usage and basic performance criteria. If a piece of software masterfully meets all needs, but has internal interfaces that are simply too complex and brittle to be worth learning then that software will quickly decay and need to be replaced as the dynamic world alters the constraints of usage.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: