4 ms·
You are contradicting yourself: nobody thinks it's even remotely realistic to give assurances with 0 margin of error. Of course it's expensive, of course it's d
by mfukar 17y ago
You are contradicting yourself: nobody thinks it's even remotely realistic to give assurances with 0 margin of error. Of course it's expensive, of course it's difficult. It is likewise unrealistic for traditional engineers to do so - everyone knows that buildings will eventually collapse.
However, we do need some quality assurance which is more reliable than "this piece of software passes all the tests which guided its development" - which is a nonsensical statement that somehow TDD fans hail as absolute truth. It'd improve our applications and it'd improve our skills. I can't see how it's a bad idea, unless taken to the extreme.
- davidw 17y ago> we do need some quality assurance which is more reliable than "this piece of software passes all the tests which guided its development" We do not necessarily need even that. The web site for the little antique bookstore in downtown Padova really doesn't - it doesn't even handle money. They're happy to get something that mostly works and fix the rare bug that does come up when it's noticed. The software responsible for safely guiding a 747 full of people into an airport at night, on the other hand, probably does something more in terms of tests/QA/provable correctness/whatever else makes it safer, even if it makes it significantly more expensive. There's no contradiction, and I wasn't talking about TDD. My point is merely that you have to consider the economics of these things, and software projects vary to the extremes in terms of their importance and impact on our lives.
- mfukar 17y agoIf the scope of your statement was that narrow, I will agree with you. Though, the article does point out that eventually, code you've written and perhaps released without claiming any responsibility whatsoever might be used in something more important than what was originally intended. Certainly a lot of food for thought there.
- davidw 17y agoIf someone takes something of mine that's not been built for 'safety critical' use, and wants to use it there, the onus is on them to put the extra effort/money/time in. Same as if I built a one story house and someone wanted to add 5 floors to it - it's not really my fault if it doesn't work out.
- mfukar 17y agoNo argument there, but the discussion involved software engineers and our job in general. We'd best stay on topic.
- Freebytes 17y agoI completely agree. This also applies to engineering, though. If you are making a gingerbread house with your child for a school project, you are not going to need any kind of certification. If you are building a shed in your backyard, you may need a permit, but you do not need extensive approval from quality assurance teams on each step of the process. Software is the same way. Large systems require more extensive testing. A space shuttle needs software and engineering with extensive testing. A bridge and software for medical devices needs quality assurance beyond the usual scope. However, quick hacks exist in engineering and software, and it makes no sense to 'trust your code with your life' or 'trust your engineering skills with your life' when all you are making is a popsicle stick house.
- rm-rf 17y agoApparently all of the software on my Mac is really just a bunch of popsicle houses. Too bad that I've sunk a couple grand into it.
- Freebytes 17y agoIf it only took you a night to do it, then I guess so. However, it sounds like you are making a shed or garage instead. Still, you are not sending anyone to the moon, I suppose.