Subscribe now

Letter: Letter

Published 20 March 2004

From Alec Cawley

Bentley says: “Unlike computer software, nature’s code is not full of bugs.” On the contrary, nature’s code has all too many bugs. Organisms suffer from genetic and embryological defects, sometimes crippling and sometimes lethal. Even when developmentally perfect, organisms eventually crash (or in other words, die) within a finite time. Nature does not produce perfection; it produces systems that work long enough to do something useful before they crash. Which is what, de facto, designed software does.

Humans can write software that conforms exactly to its specification. It is not easy and it is not cheap, which is why it is often not done. But it can be done. A major software manufacturer recently stopped having two teams implement the same specification – to create systems with different bugs that would not crash at the same time – in favour of having twice as many eyes scrutinising the specification for errors.

As with human-written software, evolutionary software cannot develop defences against problems to which it is never exposed. The virtue of evolutionary programming is that it puts the major emphasis on testing, traditionally the poor relation of programming. In this, it is to be admired. However, modern software development techniques such as extreme programming also emphasise testing early and often, and to good effect. The problem is not actually technical, but rather one of management and marketing.

Newbury, Berkshire, UK

Issue no. 2439 published 20 March 2004

Sign up to our weekly newsletter

Receive a weekly dose of discovery in your inbox. We'll also keep you up to date with New Scientist events and special offers.

Sign up
Piano Exit Overlay Banner Mobile Piano Exit Overlay Banner Desktop