|Think about Loose Coupling|
Re: Macros, LFSPs and LFMsby adrianh (Chancellor)
|on Jun 11, 2003 at 16:43 UTC||Need Help??|
I like being able to create domain specific languages - so I think decent macros are a great idea. It's something I miss in Perl5.
In general I think that Perl6 is doing the right thing by building the infrastructure that allows language features to be added (pre/post handlers, macros, etc.) rather than adding everything into the core language.
Macros and operator overloading seem to be things that start religous wars on the language front. Personally I am in the camp that says both things can make code simpler and therefore easier to understand for everybody, smart or otherwise.
I've never seen any studies that show that these features cause comprehensibility problems, just lots of anecdotes and straw man examples. My personal experience has been the opposite.
Yes, these features can be misused. A poorly designed set of macros can make it hard to understand what a program is doing, but you can get the same sort of problems from a poorly designed API.
I don't agree with the whole LFSP/LFM divide. In my experience language adoption by the "masses" is driven by a large number of different factors - many of them having nothing to do with the features of the languages involved.
Trying to justify why certain languages are popular/niche by only looking at the language features can be an exercise in futility.