|
|
|
|
|
by apsurd
258 days ago
|
|
Isn't software never being finished a unique trait of software and therefore intentionally used as a value? I get that never-done software tends to justify shitty products. But how would you suggest taking advantage of software's features vs do you really recommend building it like a bridge? |
|
> So then you get these version numbers, even with decimals: version 2.6 or 2.7. That nonsense. While version 1 should have been the finished product.
E.W. Dijkstra
Translated from the original Dutch [1] [2].
Dijkstra was convinced that programming was a formal application of mathematics. If the program has a bug, the math is wrong. If the program is missing a feature, the math is incomplete.
Personally, I feel that building software like a bridge is the better path. You don't want the bridge patched with new supports and "stability improvements" every time another fatal design flaw is discovered any more than you want to update your OS and system libraries every time a new CVE is announced. These scenarios are both disruptive and costly. But somehow, we have been collectively tricked into accepting it as an unchangeable fact of software.
The advantage of software is that I can "replace the whole bridge" with a completely different design if I wish. Not merely patching an existing bridge in place, with whatever poor aesthetics and integrity problems that leaves behind.
[1] https://www.cs.utexas.edu/~EWD/video-audio/NoorderlichtVideo...
[2] https://youtu.be/-Uae9_pgZzE?si=twwh7k7cPKRB2gvJ&t=50