in reply to Re^5: Some thoughts around the "is Perl code maintainable" discussion
in thread Some thoughts around the "is Perl code maintainable" discussion
Woe! Now there's an interesting sidetrack. If we had an OT section, I'd be happy to follow you down it for as far as we could go before hitting the inevitable deadend. And happier still to see it, thereafter, dissolve into the bit bucket.
For the sake of this discussion, let's restrict the definition of work as those activities we pursue in order to keep a roof over our heads and food in our bellies. Whether you have fun whilst doing it or not.
There is, and has to be in the majority of cases, a distinction between what we do at our own instigation, to our own criteria, and for our own pleasure. And that which we do for others, for payment, whether we enjoy it or not. The difference is consequences.
If a weekend truck racer forgets himself and start charging around our motorways and city streets at the same speeds and with the same attitudes and goals, as he employs for fun on the weekends, the consequences are likely to be as horrific as they are inevitable.
Code posted on PM, whether in a obfu or code section, or as a demonstration of syntax or algorithm in response to a SoPW, has none of the responsibilities or consequences of code written for $work. If an obfu takes parameters and fails spectacularly if those entered are out of range. Boo hoo. If a genetics algorithm fails to check its inputs, runs for 12 hours before before producing garbage, you're going to have a frustrated and angry genetisist, but mostly no great harm done.
If you fail to verify the parameters to a drug dispensor, someone could die, but writing obfus with the same care and consideration as you would take for the drug dispenser is pointless. Writing every piece of code you post as an answer to a SoPW as if it might be used in the control of a nuclear powerstation is equally pointless.
The responsibility for any code has to lie with the persons and organisations deploying that code, not those constructing it. Whether salaried or commissioned, individual programmers have a responsibility "best endevours" to those paying them, but the final responsibilities (for testing and sign-off), lie with those whom deploy that code for profit. And outside of government organisations, all commercial code is ultimately produced to create profit. If an individual programmer screws up, regardless of how badly, predictably, or with what consequences, they made a mistake. If the company or organisation deploys that screwed up code into the field, they have shirked their responsibilities for putting appropriate testing, QA, and review procedures in place to ensure safety commensurate with the application of the code.
If a fitter on the production line of your local multinational car company over-tightens a brake nipple and it subsequently fails under pressure, he made a mistake. If the failure under pressure occurs as the vehicle approches a busy intersection, because no system integrity pressure test was performed, the company is at fault, not the fitter.
If the test was performed and it still fails in the field? Once is force majeure. Once in 100,000 vehilcles is probably force majeure. Three times is probably liable.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^7: Some thoughts around the "is Perl code maintainable" discussion
by shmem (Chancellor) on Aug 12, 2007 at 16:43 UTC |