This is a very interesting topic, IMO. Perl has a reputation for being "write-only", and I think the root cause of this reputation is Perl's TIMTOWTDI philosophy, because it can result in each programmer having a very unique coding style. Perl is a huge everything-but-the-kitchen-sink language, and each programmer fashions his/her own personal lingo from it. This is great for the individual programmer, but I think it can lead to code that is difficult to read by others. Heck, I have problems reading my own code sometimes, because my coding style is constantly evolving.

Consider this excerpt from the Second Exegesis:

Perl has always offered the ability to code at your own level and in the style that suits you best.
This sounds very reasonable and attractive, but it implicitly assumes that the only consideration when writing code is the programmer's comfort ("the style that suits you best"), which ignores the fact that programmers other than the original author may have to read, understand, and possibly refactor or (heaven forbid) debug the code. This too is part of the equation, and I would argue that for a large organization it is an important part of the equation; in the long run, a large organization prefers to own code that can be readily understood by any one of its programmers than code that shines for its Perlish erudition (but can be understood only by those few who have attained the author's level of expertise).

I have often wondered whether in some more or less distant future Perl will spawn a much more limited and rigid dialect (ANSI Perl?) for the purpose of standardizing Perl programs. The impetus for this would be large organizations that want to use Perl but don't want a programming language that is so feature-rich that it takes years to master.

the lowliest monk


In reply to Re: Code Structures by tlm
in thread Code Structures by artist

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.