August 29, 2009

Sustainable code

I have found the First International Workshop on Software Research and Climate Change an intriguing combination of topics. It's a workshop asking what software research can contribute to the challenge of climate change.

There are certainly a number of things we can do, but I can really only come up with supporting tasks. I was hoping there is something more fundamental to be found in software research.

Here is a point against this hope: the fact that all software seems to expand to consume the available resources. And when the machine is no longer able to keep up we simply ask for a new and bigger machine. After all, there will always be a better machine right ? (Thank you, Moore's law!)

In terms of climate change this is similar to saying that we let the system grow until it consumes all available resources (air, water, food,...), after which we ask for a new and bigger Earth. After all, there's always a better Earth, right ? Right ? Erm, wait...

So one solution to the climate change problem lies in finding a way to double the Earth's resources every 18 months or so. I'm guessing that's going to be a tough target to hit.

The really interesting question to me is how to grow software without it outgrowing the machines it's on. If we knew the answer to that we would not only improve the overall state of software, but we might actually have something essential to contribute to the problem of climate change.

Sustainable code, it's a great idea.

Anyone know how to get there ?

1 comment:

KrisDS said...

There's probably a misnomer here: it should be about "sustainable software" rather than "sustainable code". But the question I was trying to focus on was that of consumption of resources (processor, memory, storage,...). How do keep this in check as the software and its code evolve ?