3 ms·
TLDR: Complex systems are complicated to build
by kasperni 6y ago
TLDR: Complex systems are complicated to build
- chrisco255 6y agoFred Brooks was right: "Brooks insists that there is no one silver bullet -- "there is no single development, in either technology or management technique, which by itself promises even one order of magnitude [tenfold] improvement within a decade in productivity, in reliability, in simplicity." The argument relies on the distinction between accidental complexity and essential complexity, similar to the way Amdahl's law relies on the distinction between "strictly serial" and "parallelizable"." https://en.m.wikipedia.org/wiki/The_Mythical_Man-Month https://en.m.wikipedia.org/wiki/The_Mythical_Man-Month
- vishnugupta 6y agoTo add/elaborate systems get complex because the underlying reality is not simple, as much as we’d like it to be. No matter what paradigm (OO, strong/weak type etc.,) we choose or methodology (waterfall, agile etc) we adopt to build the underlying reality can’t be changed or mounded to fit the software, it is always the other way around. Just a few days ago there was this thread about date calculation. One would think how complex can it be? But as one digs deeper they keep discovering layers and layers of special cases. Take Uber as another example. Push a button get a car was their aim. We see people commenting here that they will be able to build it over a weekend. But the real world of cab hailing has thousands of unwritten, implicit rules that are in people’s head. All of them have to be codified and need to work seamlessly, and on top you add constraints of distributed systems and physics etc. Or take tax laws, it’s a labyrinth of rules large enough that people have built DSLs. So, any software that’s solving real world need will be complex. We just have to bite the bullet and deal with the reality.