Hacker News new | ask | show | jobs
by sfn42 20 days ago
And you're still missing the point that software nobody uses can be of excellent quality.
1 comments

Agreed. The quality of a software package doesn't change when its last user stops using it. We don't say that the Apollo Guidance Computer software is of low quality these days given that nobody's using it.

Software quality is, roughly speaking, intrinsic to a software product. Its usefulness is not intrinsic, it can depend on any number of external factors. Quality is not the same as usefulness.

But if it’s unused then how does one measure quality? We can write all the tests, look at architecture patterns, etc. but software truly is a case of “the proof of the pudding is in the eating.”
By your logic, IKEA is the highest quality furniture because it's in more homes than for example Herman Miller furniture.
But that’s not my argument at all. I’m saying that quality is impossible to measure if 0 people use it. Once you go above 0, it can be measured and it’s not necessarily related to how many people use it.
It is still possible to measure the quality of software (or other products) simply by defining a metric that proves quality and testing for it

If I were to write 2 simple functions that reverse an array, and one successfully reverses an array and the other just randomizes it - despite never using this function, we could all agree that function 1 is of higher quality than function 2.

This is an extreme example but the same can be done for, lets say, speed or error handling.

While I think the example is too fake as to be too useful, let's take it. While we could read the code and say that one appears to achieve the job we want and the other doesn't; you don't know if the one that apparently does the job actually does the job until you put it into real-world use. You can't know it'll run with acceptable speed, edge-cases, etc. until you actually run the code in production!

If that code never goes into production with real customer use-cases, everything we say about its quality (on any metric) is 100% theoretical! We can try to replicate that environment, and we should, but until it's actually used, we can't truly know.