Linux Kernel Design and Why Python is Rad

Andrew Dalke dalke at dalkescientific.com
Mon Dec 3 12:14:07 EST 2001


Jonathan Gardner:
> Linus Torvalds on design: "Nothing successful has every been
> designed. It has evolved."
>
> Everyone else: "No wait a minute, that's not what this book
> says! And that's not what my teacher said!"

Now, which books say that?  "Rapid Development" is very
explicit that all the design models, even the classic
waterfall design, have a way to back up from mistakes.
It might be slower than other development models, but
it's even useful in some cases, like writing the Nth
iteration of a salary accounting package where all the
requirements and dependencies are well known.

Coming from the other side, all designs have been built
from knowledge gained in previous work.  "Evolved" in
its most precise sense means "changed over time."
(NOT "improved over time".)  So by definition I agree
that everything successful has been evolved.  Then
again, so has everything unsuccessful.


Conclusion: this argument is based on a false dichotomy.
Design helps minimize the chance of being unsuccessful,
and goes hand-in-hand with the evolution of software.

                    Andrew
                    dalke at dalkescientific.com






More information about the Python-list mailing list