1 comment

[ 3.7 ms ] story [ 11.1 ms ] thread
This is a quote from the related blog post (https://caseymuratori.com/blog_0015) that I found interesting:

> Starting from a place where the details don’t exist inevitably means you will forget or overlook something that will cause your plans to fail or lead to suboptimal results. Starting with the details and repeatedly compressing to arrive at the eventual architecture avoids all the pitfalls of trying to conceive the architecture ahead of time.

While I disagree that OOP is completely useless, I have found that designing a solution with an OOP mindset can lead to a time consuming and tedious exercise of trying to figure out the best names and interaction patterns for things that might not need to exist to begin with. Sometimes a language constraint or the design of a library you want to use prevents the OOP vision from being realised in the implementation.