Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: "Native Perlish"

by jdporter (Canon)
on Mar 26, 2003 at 12:39 UTC ( #245906=note: print w/ replies, xml ) Need Help??


in reply to "Native Perlish"

The concept you have independently rediscovered here has a name: Idiom.

++spurperl

jdporter
The 6th Rule of Perl Club is -- There is no Rule #6.


Comment on Re: "Native Perlish"
Re: Re: "Native Perlish"
by derby (Abbot) on Mar 26, 2003 at 12:51 UTC
Re: Re: "Native Perlish"
by stefp (Vicar) on Mar 26, 2003 at 14:30 UTC
    According to the Webster's 1913 accessible frim KDE thanks to kdict, one of the meanings for idiom is the syntactical or structural form peculiar to any language.

    I think that syntactical/structural forms are the way of capturing in syntax recurrent programmatic patterns so they stand out. So a language that captures patterns syntactically absent from other languages is certainly idiomatic. Perl is very aggressive in capturing patterns with its syntax so it is certainly idiomatic. A language can also be very idiomatic by its very repetitive syntax like Lisp and its "clipped nails". I would use the expression syntactically idiotic here to qualify Lisp.

    -- stefp

      idiom goes beyond syntactical or structural form. Here are two definitions from the OED (the second and third major ones; using the 1971 compact edition):

      • the specific character, property, or genius of any language; the manner of expression which is natural or peculiar to it.
      • a form of expression, grammatical construction, phrase, etc., peculiar to a language; a peculiarity of phraseology approved by the usage of a language, and often having a significance other than its grammatical or logical one

      The first definition there, applied to Perl, might be things like using $_ and @_ to write concisely (Effective Perl Programming item 7). The second definition would mean things like while (<FH>) { do_stuff } (although technically that is approved by the design, rather than the usage, of the language) or perhaps things like naming conventions. A non-Perl example would be Hungarian Notation in C++. The Perl community has things like that too.

      Stuff like the Schwartzian Transform could be considered idiomatic also, or the practice of returning undef for false (which, incidentally, will change in Perl6).


      for(unpack("C*",'GGGG?GGGG?O__\?WccW?{GCw?Wcc{?Wcc~?Wcc{?~cc' .'W?')){$j=$_-63;++$a;for$p(0..7){$h[$p][$a]=$j%2;$j/=2}}for$ p(0..7){for$a(1..45){$_=($h[$p-1][$a])?'#':' ';print}print$/}

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://245906]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (2)
As of 2014-09-20 15:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (160 votes), past polls