|
|
|
|
|
by j_h_s
3851 days ago
|
|
"the rational behavior would be to read the code, understand what it does, and reject it if it doesn't work for their use case." This just isn't practical in most cases. I just don't have time to read the source of every tool I use. No matter how much we strive for simplicity, the fact of the matter is that nearly any software system that is useful these days is going to be too big for every developer who uses it to read its source. You have to accept that in a lot of cases, you're going to need to use tools whose inner workings are obscure to you. Simplicity in programming is great, but we passed the point of understanding all the software we used a LONG time ago. |
|
With that mental model, you can predict from reading some code what the possible error cases or race conditions could be, or what the state of the datastore entity would be after running some code against it. Perhaps that's not precisely "Software Complexity", but "Library Complexity" instead.
I was going to use Redis as an example, but the internal workings are probably too easy to understand.