omment: This is one of the most misunderstood of all my columns. So after you finish, read the “Addendum” before you Slashdot or otherwise flame me. Then, if you still disagree, go right ahead and object. I don’t mind criticism. I don’t mind being wrong — that's how I learn. But it is painful to be misunderstood.
As it seeks to slash power usage across its global cloud computing platform, Microsoft has been refining its designs for energy-efficient data center hardware. The company is now sharing the details of those designs, which feature custom servers, a high-efficiency power distribution system and in-rack UPS units.
The arguments in favor of laziness never seem convincing to me. One claim is that the equational theory of lazy programs is said to be more convenient; for example, beta reduction holds without restriction. But this is significant only insofar as you ignore the other types in the language. As Andrezj Filinski pointed out decades ago, whereas lazy languages have products, but not sums, eager languages have sums, but not products. Take your pick. Similarly, where lazy languages rely on strictness conditions, eager languages rely on totality conditions. The costs and benefits are dual, and there seems to be no reason to insist a priori on one set of equations as being more important than the other.