Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

I think it's interesting you compare Perl to English and say that both are beautiful. Many people would say they are each rather ugly. English is inconsistent. Most languages have a few irregular verbs; English is jam-packed with them. And idioms that make almost no sense when read literally are employed liberally. (Who packs a language with jam after all?)

Robert Pirzig (my favourite modern philosopher), in Zen and the Art of Motorcycle Maintenance speaks of a Romantic/Classical divide with regards to the perception of Quality. An example he gives is using a small circle of tin cut from a beer can as a shim when repairing a friend's motorcycle. His friend, considering the surface appearance of the shim, is aghast that Pirzig is using an old piece of rubbish to repair an expensive piece of engineering. Pirzig on the other hand looks at the underlying form of the shim; its weight, thickness, strength, and considers it an elegant solution.

To me, it seems both English and Perl are low quality languages when viewed from the Romantic angle, and only their surface appearance is considered, but high quality languages from the Classical angle, when their underlying form is taken into account.

Perl features like prototypes, import subs, globs, compile-time code execution, stack inspection and so forth, combine to create a language which is internally extensible. You can effectively define new Perl syntax from within Perl. (English also tends to be very tolerant of extendawording.) These features, if wielded with experience can combine to produce very elegant and concise code.

So yes, from an insider's point of view, Perl can be a very elegant way to get the job done. But we should also understand why outsiders, looking at only the surface appearance of Perl code, often consider it to be ugly.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

In reply to Re: thoughts on perl language by tobyink
in thread thoughts on perl language by Anonymous Monk

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!
  • 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, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others browsing the Monastery: (8)
    As of 2014-08-01 05:02 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      My favorite superfluous repetitious redundant duplicative phrase is:









      Results (256 votes), past polls