in reply to Idioms considered harmful

I disagree. Idioms are (usually) not obscure, but more important, it isn't an idiom if only a few will know what it does.

Idioms are constructs that are typically used for a certain task. Good examples of idioms are the constructs to iterate over an array:

/* C idiom */ for (i = 0; i < arr_length; i ++) { printf ("%d\n", arr [i]); } # Perl idiom foreach (@arr) { print "$_\d"; }
C probably has more idioms than Perl, if only because having more ways of doing something is typical Perl. Perl also has many buildins where you would use a C idiom in a C program.

Having one way of doing things (whether that's because of the way the language is designed, conventions or company policies) does have its merits. Company coding standards aren't there for the sole purpose of annoying people (although they can be annoying ;-)), Python has its share of followers, and even in the Perl community you hear too often "you shall do it this way".

That of course doesn't mean I don't like the many ways of doing things in Perl.

Abigail