[EMAIL PROTECTED] wrote:
----- Original Message -----
From: "John Stanton" <[EMAIL PROTECTED]>
To: <sqlite-users@sqlite.org>
Sent: Friday, April 14, 2006 1:32 AM
Subject: Re: [sqlite] Re: Structured or Object-Oriented




I was always impressed with Dijkstra's contention that a programmer's
most important quality is a familiarity and skill with mathematics.  The
ability to think in abstract terms and understand the concept of proof
of correctness is certainly more important than learning a certain
methodology and blindly applying it.
JS


I agree with the basic idea except in that it does not really relate to
mathematics as such:
'The ability to think in abstract terms and understand the concept of proof
of correctness' could be considered a basic principle of philosophy and by
application of science;
In the 1970's I was studying biology and the most earth shattering
concept/rule that came my way was 'always relate structure to function', a
principle which 'encapsulates' OOP in five words (or four if you remove the
'always');
Biology in the evolutionary sense is not concerned with correctness but with
the 'fittest', that is, that which functions best;
there is no proof, correctness or methodology, only that which works;


There is no correctness in Science, and that certainly applies to Biology. The scientific method has no "correct", only hypothesis and observation. On the other hand Mathematics, a non-scientific discipline, has absolute correctness by proof. "Computer Science" is a bad term for a discipline which is based on the concepts of Mathematics, not Science.

As you would have discovered from biology, the principles of natural selection etc do not guarantee good designs, only ones good enough to survive until driven to extinction by a better combination. For example the genetic code is not elegantly designed by a mathematician but is just the first combination which worked adequately. If the biological method worked well there would be no disease or genetic defects, just organisms which lived forever like Euclid's axioms.

I would counsel programmers to look to correct designs rather than pursue the biological approach and be like a monkey running up and down a keyboard in an attempt to compose a new sonata.

Reply via email to