Green Programming – Conservation Through Better Programming
Conservation is a state of harmony between men and land. – Aldo Leopold
Information center architects have increasingly been considering the ecological impacts of their systems, and as a result designing data centers that minimize power and cooling requirements. I believe that it will also become increasingly important for developers to consider the ecological impacts of their application. This is much more than just a social activist movement – understanding the consumption of the resources we use is really just an efficiency argument. Simply - green is lean.

Green Programming Tools
If you think that introducing green concepts into programming is a crazy idea – Rational, IBM’s software tools development subsidiary – has already been taking steps to identify code that is performance intensive – identifying heat maps for code, working towards producing more efficient applications.
Using Shared Resources
Programmers could do much more to improve the efficiency of our software and, ultimately, the power it consumes. One-way I think programmers can easily begin to introduce efficiency and reduce resources is to begin to integrate shared services into their applications. In my opinion shared resources are akin to public transportation - maximizing utilization of a shared resource benefits everyone. For example utilization of services such as AOL’s OpenAuth - which provides a centralized and shared system for user authentication. Instead of developers rolling their own systems, utilizing a shared resource for this task is a simple way programmers can begin to greenify their development.
The Past Is The Key To Our Future
In the future programmers will increasingly need to account for the ecological impact of data that is stored or operations that are performed. I have seen a number of poorly designed systems that didn’t scale – and the answer was to throw more hardware at the problem – when something as simple as a few additional indices would have solved the problem!
It’s important for programmers to think about how they can squeeze performance, and consumption, out of our applications. As they say, every little bit helps! But it does sound very retro – maximizing the minimal memory and storage of our meager systems of the past – but I believe it’s truly a lost art. The computing power we have available in our meagerest of electronic devices is more than NASA had available for the Apollo moon landing guidance computers.
I’m not advocating a Luddite position – rather I’m looking for ways programmers can more efficient use of their resources. It’s more than a social position – green is lean is simply a business driver designed to maximize the utilization of available resources, and saving money in the process.
Your Thoughts!
Let me know what you think! Has green programming entered your development thoughts? Do you think your projects will start to take small steps like integrating shared services?
- johnfronck's blog
- Login or register to post comments
