Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

comment on

( [id://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":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2024-03-29 00:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found