How is keeping companies liable for their failures something that would make a fascist blush? Companies should be liable for their mistakes, especially when it's negligence that results in user data being blown all over the internet.
There's a vast sea between mistakes and negligence. Exactly 0% of the people posting on this site have written 100% bug free code that's been pushed to prod/released to customers.
How is software any different?
It's simply a matter of making companies pay for externalities. If you pollute the environment with your business, you need to pay for that. If you pollute the world with buggy software, you need to pay for that. But all companies have externalities?! Yes, and they should all pay for their externalities and if the cost is high enough that the business is no longer profitable, it needs to close.
Software without bugs isn't some pipe dream - the people writing software will simply be elevated to the level of a surgeon. Do you want your surgeon introducing 'bugs' during your operation? I don't, that's why surgeons get extensive training and are highly compensated.
People want to pay people peanuts for software that barely works, so that they can capture and monopolize as much of the market as quickly as possible. Uh, that's not my problem that people who want to get rich will have difficulty, I want shit that actually works.
> Software without bugs isn't some pipe dream - the people writing software will simply be elevated to the level of a surgeon.
Your doctor analogies really don't make a lot of sense. Surgeons likely make small mistakes all the time, they're just working on one system (person) at a time and can fix them immediately.
Software without bugs is absolutely a pipedream. Maybe you just haven't worked on very complex systems written over the span of many years or decades?
Flying in a metal tube was a far greater pipe dream than what you're describing.
Look, we can barely lift metal, how can we possibly make it fly? You're being ridiculous, nobody has done it before!
I guess you're right, let me stop thinking and get back to hunter gathering, because science and mathematics is a bunch of pipe dreams that cannot bear any fruit!
You know what they used to call pipe dreams a few hundred years ago? Blasphemy. We already know what's possible - we have a book and it tells us everything we need to know. Well alright then, you've totally convinced me with your powerful arguments from authority mister!
> How is software any different?
You can't bugfix an amputated leg. Which is additionally only 1 clear defined task.
I'm really wondering why someone on HN is making this illogical comparison. This ain't reddit
Software is used for real world things, and some of those things have irreversible consequences.
That's nuts.
Things like SqlLite have 100% unit and integration tests, because that's what it requires for being used in airplanes.
That's how "bugfree" software things works.
Read more about it and you'll see what insanity you have to apply to fully test your software to let it be "bugfree".
Summary for only SqlLite:
- Four independently developed test harnesses
- 100% branch test coverage in an as-deployed configuration
- Millions and millions of test cases
- Out-of-memory tests
- I/O error tests
- Crash and power loss tests
- Fuzz tests
- Boundary value tests
- Disabled optimization tests
- Regression tests
- Malformed database tests
- Extensive use of assert() and run-time checks
- Valgrind analysis
- Undefined behavior checks
---
Feel free to create software with a all possible checks for "employee time off". By the time your full stack app is done, you're 20 years from launch.
In the meantime, 1000's competitors with an MVP successfully launched and expanded features and your stuck because of all the tests.
For every fix for every problem, there will be some cynic saying it doesn't fix all of the world's other problems and he/she would be correct.
If your goal is to come up with one action that fixes all problems, your best bet is to do nothing at all because the ask is impossible, outside of suicide, which would eliminate all perceived problems, for all of time to come.