The Software Garden

It is commonplace for human beings to manipulate and control systems that they only understand at a behavioural level. Yet we expect software engineers to build software systems by assembling instructions that are extremely fragile and require extremely precise understanding of how these instructions interact. We argue that such a method of programming computers will not scale to future demand. We suggest that future software might profitably be constructed using a horticulture-inspired programming methodology. Evolved software seeds will be planted and shaped in software gardens for desired computational behaviour.