2 ms·
> At its core, every software is about manipulating data to achieve a certain goal > This part is very important, so I will repeat. goal -> data architecture -
by 3pt14159 8y ago
> At its core, every software is about manipulating data to achieve a certain goal
> This part is very important, so I will repeat. goal -> data architecture -> code.
Wait, what? No. That isn't what you just said. You said my goal was my goal and manipulating the data was the way to achieve that goal.
Take Shopify. They had a goal: Make a ton of money by running ecommerce stores.
They used OOP. They IPO'd and they're doing great.
You can argue all you want about how they would have done better if they'd done some other programming style, but the reality is that almost every startup that I see win in fields like Shopify's (where there are a ton of different concerns with their own, disparate implementation specificities[0]) do so with OOP codebases.[1]
In large corps like Google non-OOP with typed languages like Go might work great. Streams of data and all that. But for startups it's too slow. OOP is agile because you get some data and you can ask it "what can you do?" and you can trick functional or logical programming languages into kinda doing that too, but they do it poorly.
[0] Even wording this in a non-OO way was a stupid waste of time. I could have just said "different models and methods" and 99% of the people here would have nodded and the 1% would have quibbled.
[1] Some startups like WhatsApp are a bit of an exception, but even YouTube used Python.