[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <61071.84.210.74.57.1177961145.squirrel@peltkore.net>
Date: Mon, 30 Apr 2007 21:25:45 +0200 (CEST)
From: "Vegard Nossum" <vegard@...tkore.net>
To: "Adrian Bunk" <bunk@...sta.de>
Cc: "Linus Torvalds" <torvalds@...ux-foundation.org>,
"Diego Calleja" <diegocg@...il.com>,
"Andi Kleen" <andi@...stfloor.org>,
"Chuck Ebbert" <cebbert@...hat.com>,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>
Subject: Re: Linux 2.6.21
On Mon, April 30, 2007 8:57 pm, Adrian Bunk wrote:
> I never expected the reality to be come as white as my ideal or the
> washed things in washing powder ads.
This reminds me very much of what the brilliant computing scientist Edsger
W. Dijkstra more than once wrote:
`Confusing "love of perfection" with "claim of perfection", people will
accuse you of the latter and then blame you for the first.' (EWD709)
Also relevant to the discussion, I think, but in another way, is this:
`One of them is the dogma that striving for perfection is
counterproductive in the sense that it would make software development
much too expensive. But what are the main causes of the soaring costs of
software development? A major cost, in terms of both manpower and
unforeseen delays, is debugging, and one can save a lot by investing more
in preventing the bugs from entering the design in the first place. Since
the errors are so expensive, in general the high-quality design is also by
far the cheaper. Another major cause is that many systems are built on
shifting foundations in the sense that the underlying software of
operating systems and compilers is too shaky to be stable, with the result
that each new release of that underlying software requires possibly
extensive adaptation of what has been built on top of it. Finally, many of
the tools the programmer is supposed to work with are so poorly documented
that they force him to find out by experiment what they might be able to
do for him. Since these experiments can be pretty expensive and
time-consuming and —inductive reasoning being what it is— an educated
guess is the best the poor programmer can hope for, the poor programmer is
really in a miserable position. So here you see three major sources of
cost explosion traced down to someone's assumption that striving for
perfection is counterproductive!' (EWD952)
For the complete documents, see
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD709.html and
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD09xx/EWD952.html,
respectively.
Regards from Vegard's
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists