C++ and Climate Change

The project I work on is a C++ project that is computationally massive. We are processing many, many petabytes of data that run hot at 100 percent CPU load. The machines we use have dozens of cores and we have hundreds of them. Early in the project an architect came to me and said “We have to convert this to Java, because that is what the rest of the company uses.” I balked at his arrogance. My argument to him to keep it C++ was not just technical but moral. I told him “C++ will use less energy. Performance per Watt is higher. We will need less hardware.” I also told him that I don’t want to contribute to global warming more than I have to.

He thought this argument to be very strange, but I am far from the first to make it.

Here is Bjarne Stroustrup, the creator of C++ making the same argument:

You see, the tech world promises a future that the science world won’t let happen. IPCC recently released a report titled ‘Climate Change 2014: Impacts, Adaptation, and Vulnerability’. This report details how climate change is happening now and no one will escape from the effects. But the Tech world is promising something completely different for our future. The Valley promises driveless electric cars and the singularity. Social media is advocated to be a democratizing force in society. That twitter was a catalyst for the Arab spring, while in reality there was a food crisis.

Somehow the promised future of Silicon Valley and the disaster of climate change is not in conflict in peoples minds.

The worst of it is that the software culture is completely ignoring this cognitive dissonance. Is it that engineers are somehow unscientific in their thinking? That cannot be! And those who acknowledge it reply with the tired old saw that some technology will magically come and save us.

The business people who run the Tech companies on the other hand are proud of their contribution to the problem. Google even has a special page about their contribution to consumption.

I know it may sound stupid, but using C++ in this case, for me, was a conscious moral decision, not just a technical one. Because if we want anything like the future the Valley is promising us, we need to start using less now.