4 ms·
I have a controversial opinion on this topic: I don't think it is morally ethical to use inefficient languages in high duty-cycle applications. By "high duty-c
by brandmeyer 11y ago
I have a controversial opinion on this topic: I don't think it is morally ethical to use inefficient languages in high duty-cycle applications. By "high duty-cycle applications" I specifically refer to environments which consistently consume the bulk of available CPU resources: big web servers, caching intermeddiate servers, etc. The common rationale is to trade off engineering time for CPU time. But that trade also means trading engineering time for carbon emissions, too.
- orangecat 11y agoYou're going to need actual numbers for this to be a valid argument. Data centers use only 3 percent of global electricity production (http://www.datacenterknowledge.com/archives/2014/12/17/undertaking-challenge-reduce-data-center-carbon-footprint/ http://www.datacenterknowledge.com/archives/2014/12/17/under...), and it seems unlikely that a noticeable portion of that is caused by CPU-intensive software that isn't already well-optimized.
- brandmeyer 11y agoThis isn't world-changing by any means. Just as individuals can reduce our energy consumption with high-SEER HVAC systems, high-efficiency lighting, etc, I think that programmers as individuals can reduce energy consumption by using higher-efficiency computing languages.
- orangecat 11y agoAmdahl's law applies here: some things are just not worth worrying about. If you're Google or Facebook, you already have entirely selfish incentives to optimize your code. If you're not, and the performance of your "inefficient" software is acceptable to you and your users, the net environmental benefit of rewriting it in C is likely indistinguishable from zero. It may even be negative, if the increased development cost prevents you from improving energy efficiency elsewhere.