3 ms·
> it sure shouldn't cost less to do it yourself The companies produce generic solutions. Because software is complex, and their customers exist in many domains
by consteval 2y ago
> it sure shouldn't cost less to do it yourself
The companies produce generic solutions. Because software is complex, and their customers exist in many domains with different needs and whatever.
When you can make a really focused solution, it becomes cheap.
Look at the C++ STL. How much am I using? Not much in comparison to the whole thing. I could write an implementation of std::vector in an afternoon and use it in my apps. But std::vector is like 10,000 lines long and almost impossible to read. Because it's a generic solution, like the rest of the STL.
DD provides solutions with adapters upon adapters. Using this language? Use this SDK. How about this one? Then this other SDK. Have these types of data points? Use this. Need this graph? Use this. And on and on.
But most customers are only gonna use a little bit. Okay, we'll use the ruby SDK to collect metrics. What about the other 30 SDKs because this is a generic solution? I dunno. But you're paying for them.
- Dylan16807 2y agoBut this isn't a company with a small amount of customers. If you have a hundred adapters, and a thousand customers, your development costs per customer should be lower than DIY could reach. Especially because you really know what you're doing by the time you write that tenth adapter, so each one is higher quality and much faster to make. In the analogy, yes you could write a vector implementation in an afternoon. But if 50 other devs do the same thing, and then we add on all the debugging time, it starts to look like they're putting in more work than the big generic centralized version took.
- consteval 2y ago> If you have a hundred adapters, and a thousand customers, your development costs per customer should be lower than DIY could reach Hmm I don't think so because I think software complexity isn't linear. Meaning going from 1 unit of complexity to 2 is probably much, much easier than going from 99 to 100.
- Dylan16807 2y agoA bunch of adapters in parallel shouldn't add many units of complexity.
- consteval 2y agoDepends because sharing logic like that can be dangerous. Each system is going to have exceptions and unique properties, and SOME will leak into the shared space. This is a hard problem. If what you were saying were true, software would be perfect. It's not though, it sucks ass. I mean, try writing an API for 100 different consumers with different needs. Good luck! They're gonna ask you for X ... Z and B depends on F but F can't exist with C and C is just a bad idea overall but also O is there and that changes things and...