On Monday 05 March 2007 07:32, Carlos E. R. wrote:
The Monday 2007-03-05 at 07:03 -0800, Randall R Schulz
> next suse release... which adds new bugs, so we
> "finished", not even nearly so.
The only software that's finished is software that's dead. No
one's job is more interminable than that of the author of
I know - didn't you notice the '"'?
It sounded like you thought that was a bad thing.
I want no bugs, and I want new features. Therefore, I would prefer
bugs being cleared before commencing work on new features... at
least, having left only negligible bugs that do not impede working
with the affected program.
That is unrealistic. Fixing bugs alone does not add sufficient value (in
most circumstances) to justify the effort required. (The don't call
economics the dismal science for nothing.)
Of course, there are fields where errors are far more costly: Avionics,
medical diagnostic and therapeutic devices, spacecraft, etc. In those
areas, the requisite effort is devoted to drive errors down to rates
acceptable in those applications. But even then, no one expects zero
defects. They want zero defects. They strive for zero defects, but they
do not wait for zero defects to field the technologies. Nor could they.
Many defects are manifest only in actual operational contexts.
IMO, I consider a program to be finished when it has
no bugs left.
Adding new features is like a new project.
That, too, is an unrealistic view. Incremental development is a
cornerstone of sound software engineering. The monolithic approach is
unsustainable, as experience has already shown us.
I know programmers never consider a program finished.
for a living, so I know that... but that is not necesarily a good
thing. Are houses ever finished? They are, but they are also
periodically improved and enhanced and modified.
Whether it's a good thing or not is moot. I consider it a curse,
personally, but I love programming and software design, so it's
something I live with. And it's something the field continues to devise
better ways to cope with.
You know, programming is the only profession where
errors are called
bugs and accepted as normal. So a bridge collapsing is normal, too?
The simple fact of the matter is that with the programming technologies
we have to work with today, bugs fundamentally cannot be eliminated. We
cannot even prove that bugs are not there. At best, we can demonstrate
that they do exist. Resource-constrained development as well as the
intrinsic nature of information processing forces tradeoffs between
addressing bugs, improving performance and adding capabilities.
And yes, structural failures have always happened and will continue to
happen. The fields of civil and mechanical engineering are very mature
with professional certification required to practice, and yet failures
continue to occur.
The only way to eliminate bugs and failures is to cease to increase our
ambitions. Then we can just sit around polishing and maintaining what
we already have.
Take your pick.
To unsubscribe, e-mail: opensuse-factory+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-factory+help(a)opensuse.org