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


In reply to Re: Idioms considered harmful by Abigail-II
in thread Idioms considered harmful by rinceWind

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.