Thanks for the blog, RIck.

I agree with your point that macro looping is a bad way to approach simulations.

But I think your quote from the expert SAS user treads too close to maligning the macro language (which is frequently maligned).

It is possible to write bad / inefficient SAS code (e.g. do a simulation by copy-and-paste 10000 data steps). The macro language generates SAS code. It is possible to use the macro language to generate bad/inefficient SAS code (as in your simulation example). I would venture to say that you can also write bad IML code, and bad SQL code.

One thing that often leads to bad macro language code is that people sometimes learn the macro language before they have learned enough about the SAS language to decide when the macro language is useful. Macro loops are very useful in many situations.