Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Macros, LFSPs and LFMs

by adrianh (Chancellor)
on Jun 11, 2003 at 16:43 UTC ( #265091=note: print w/ replies, xml ) Need Help??


in reply to Macros, LFSPs and LFMs

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.


Comment on Re: Macros, LFSPs and LFMs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://265091]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (10)
As of 2014-11-27 13:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (184 votes), past polls