Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I suppose you're not the first person to attack macro systems, but can you be clear why it would devolve into madness? It seems like you're saying that developing a common language within an organization is madness, even though this just appears to be factoring common work into syntax.

In the example you cited, it seems like a pretty good language versus other examples I have seen for defining Javascript types?



As someone with decades of Lisp experience, I can assure you that macros can devolve into madness. They have to be applied judiciously -- just like, say, operator overloading, and for similar reasons: you're not just adding new APIs to the language, you're adding new syntax.

So there will be newbies who make messes with macros. It's happened in the Lisp world for decades -- though not as often, probably, as some people fear -- and it will surely happen here. Some people will overreact to that (as they have to misapplication of operator overloading) and prohibit their teams from using them. Eventually, knowledge of how to use them well will spread wide enough that most people will be able to be trusted using a language that has them, even if that means, in many cases, that they know they don't have the experience to use them properly and so avoid writing their own.

In this vein I'll close with a quote from the great Lisp hacker David Moon: Functions compute; macros translate.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: