←back to thread

159 points todsacerdoti | 1 comments | | HN request time: 0.196s | source
Show context
smallstepforman ◴[] No.40713897[source]
Complexity builds rockets with thrust vectoring and lands modules on the moon, simplicity is good for fire crackers.

Once you scale past simple prototypes, you need performance and new features. And the architecture stops being simple and complexity eventually creeps in.

I’ve implented 4 iterations of a product from scratch, and eventually they all get complex, even though each one started out with the goal of being simpler than the previous iteration. Yes, iteration #4 is more complex than #1, but it is more performant.

In parallel I’m building a new house, and each iteration of the plans is more complex. You try to manage compromises. You take 2 steps forward, one back. Which way do windows face, can an older person navigate, is there enough storage space, cost, esthetics, where does a dirty dog enter, where is the chimney for preppers, driveway and orchard, septics and wells, drainage and water collection, guest rooms and hot tubs, all on a budget … Simple wont do.

replies(5): >>40714186 #>>40714675 #>>40714742 #>>40716914 #>>40716960 #
1. Anotheroneagain ◴[] No.40716914[source]
Complexity is anything that makes it hard to understand and modify a system.

I disagree with this. It's overwhelmingly more difficult to design something simple, or modify it so that it stays simple. Coming up with complex solutions is easy, the cost is the time and resources it takes to deal with that monster. Somebody has to read all that, walk through all that, and machine all that, and assemble all that.

Much of progress comes from figuring out simple solutions to problems, which frees up time and resources for other things. It must, in the end take less effort to make and operate the machine than doing it by hand, no matter how much it may seem to the contrary, because otherwise it wouldn't be worth it.