Ecology of computation