Can code be bad for the planet? Código pode ser ruim para o planeta?
October 14th, 2007 | by ian | Oct 14, 2007 | por Ian |Alistair has an tem um interesting post on Earth2Tech interessante post sobre Earth2Tech , the thesis of which is that inefficient coding practices can lead to environmental harm. , A tese de que é que codificam as práticas ineficientes podem levar a danos ambientais.
I almost misled myself into thinking AC is blaming virtualization and SaaS/IaaS (infrastructure as a service) on creating such inefficiencies. Eu quase enganados AC pensar em mim é culpar virtualização e SaaS / IaaS (infra-estrutura como um serviço) a criação de tais ineficiências. Rather, he skipped past the obvious environmental benefits of server consolidation (improved resource utilization) and service centralization (via economies of scale) and instead builds on the consequences: code inefficiencies become more obvious when you’re no longer massively overprovisioning hardware. Em vez disso, ele pulado passado óbvios benefícios ambientais a consolidação do servidor (melhor utilização dos recursos) e de centralização de serviços (através de economias de escala) e em vez assenta sobre as consequências: código ineficiências tornar-se mais evidente quando você não estiver mais maciçamente overprovisioning hardware. This is an opportunity as much as a challenge. Esta é uma oportunidade tanto como um desafio. Bad code did matter previously, but not to the extent that is forseen: we’re scaling web applications to a much larger degree than ever before. Bad código fez questão anteriormente, mas não na medida em que é forseen: estamos escamação aplicações web a um grau muito maior do que nunca. There are more users, and inefficiencies are multiplied. Há mais usuários, e ineficiência são multiplicados.
So it is great news that virtualization and on demand infrastructure will allow us to focus more on code efficiency since as Alistair (incidentally a veteran in the monitoring of applications) points out, it exposes more granular economics of computing. Por isso, é grande notícia de que a virtualização e de infra-estrutura da procura nos permitirá uma maior ênfase na eficiência código dado como Alistair (acidentalmente um veterano no monitoramento de aplicações) salienta, que expõe mais granular economia da computação. These technologies are paving the way to greater infrastructure efficiencies and by forcing better utilization of hardware, putting more focus on the efficiency of the code that cohabits the infrastructure. Estas tecnologias estão abrindo o caminho para uma maior infra-estrutura, forçando os ganhos de eficiência e melhor aproveitamento de hardware, colocando maior ênfase na eficiência do código cohabits que a infra-estrutura.
Increasing code efficiency has been generally unimportant except in edge cases. Aumentar a eficiência código tem sido geralmente pouco importantes, excepto nos casos ponta. Stability and function has been more of a concern while Moore’s law and incomplete costing of infrastructure have been more than compensating for performance. Estabilidade e função tem sido uma preocupação mais do enquanto lei de Moore e incompleta custeio das infra-estruturas têm sido mais do que compensando o desempenho. Rapid application development platforms proliferate based upon the abilities of modern hardware to crunch “affordably” through the multiple layers of abstraction. Rápido desenvolvimento de aplicações baseadas em plataformas proliferam as capacidades das modernas hardware para fulcral "acessível" através das várias camadas de abstração.
What me worry? O que me preocupa?
There’s definite potential for code to have an environmental impact. There's definitiva potencial de código de ter um impacto ambiental. We have an existing ecological disaster on our hands with the castoff personal computing hardware of both enterprises and consumers. Nós temos um desastre ecológico existente em nossas mãos com o hardware de computação pessoal castoff tanto as empresas como os consumidores. Almost all of that computing power was wasted idling, never used, just for the ability to load Microsoft Office applications quickly. Quase todos os poderes de computação que foi desperdiçado marcha lenta, nunca utilizado, apenas para a capacidade de carga rapidamente aplicações do Microsoft Office. How do we acheive more efficient code? Como é que vamos conseguir mais eficiente código? As more people rely more on computing, the costing of which is becoming more accurate and granular, and as the barriers of entry for developers drop, we should witness an evolutionary process at work battling inefficiency assuming: Quanto mais as pessoas confiam mais na computação, o custeio de que se está a tornar mais precisas e granulados, e como as barreiras de entrada para desenvolvedores gota, devemos testemunhar um processo evolutivo no trabalho battling ineficiência assumindo:
- large population of users grande população de usuários
- competing applications aplicações concorrentes
- rapid generation spans with modification spans a geração rápida modificação
- market exerts selective pressure mercado exerce pressão seletiva
While I think these evolutionary forces are already at work, the selective pressures have been weak, the environment has been overly abundant leading to a Cambrian explosion of inefficiencies that eventually will be represented in costs that the market will react to, assuming that the market has the freedom to do so. Enquanto penso que estas forças estão já evolutiva no local de trabalho, as pressões seletivas têm sido fracas, o meio ambiente tem sido excessivamente abundantes levando a uma explosão cambriana de ineficiências que eventualmente serão representados nos custos que o mercado vai reagir a, partindo do princípio de que o mercado tem a liberdade de o fazer. This is where intellectual property issues and the “one platform to rule them all” attitude may present a bit of a speedbump, but only that. É neste ponto que questões relativas à propriedade intelectual e do "Estado-lhes uma plataforma para todos" pode apresentar uma atitude um pouco de speedbump, mas apenas isso.
Alistair’s most important point is highlighting that proper costing of computing is essential: if we want to minimize environmental impact we need to measure the efficiency of work performed by applications and the true cost of the resources they consume. Alistair do ponto mais importante é destacar que uma boa custeio de informática é essencial: se queremos minimizar o impacto ambiental que precisamos para medir a eficiência do trabalho realizado pelas aplicações e do custo real dos recursos que consomem. My conjecture is that an evolutionary process of anthropogenic artificial selection, automated or not, should optmize resource utilization. Minha conjectura é que um processo evolutivo da seleção artificial antropogénicas, automatizado ou não, deve otimizar a utilização dos recursos. This rests upon the premise of a competitive market, which I believe we are just starting to see in the world of software. Esta repousa sobre a premissa de um mercado concorrencial, a qual, creio que estamos apenas começando a ver no mundo do software.
For now I’m much more concerned with how poorly conceived code can compromise privacy, and restrictive code that restricts our freedom of communication and innovation. Por agora estou muito mais preocupado com a forma como código mal concebida pode comprometer privacidade, e restritiva código que restringe nossa liberdade de comunicação e de inovação. But those are stories for another post. Mas essas são histórias para outro post.














