Are macros still an enormous edge in the power of a language?
russell: I used macros a lot in C to initialize structs and arrays with constant information, like keywords for a parser.  It would still be useful for languages, like Java, which do not have literals for initializing objects, maps, and arrays.  Another use would be DSL's on top of a language like Python.  Sure you can do all of this within the languages, but macros would make it more expressive and concise.  I really don't buy the argument that we need to be protected from idiots.  They will piss in the soup regardless.