http://www.perlmonks.org?node_id=451505


in reply to Re^6: pissed off about functional programming
in thread pissed off about functional programming

You are right that Perl lacks (or discourages) certain things from other languages, so maybe the feature-rich distinction isn't so important as the TIMTOWDI distinction. Many languages try to do everything with one or two key tools. Because Perl borrows tools from so many other languages, I still question whether it has its own accent.

You can look unfamiliar with a language without having another language's accent. Of the things you list, throwing things in a hash might be one that is distinctively Perl-tinged — something that might make someone who reviews your code say, "You're trying to write Perl in Mumble!"


Caution: Contents may have been coded under pressure.
  • Comment on Re^7: pissed off about functional programming

Replies are listed 'Best First'.
Re^8: pissed off about functional programming
by adrianh (Chancellor) on Apr 26, 2005 at 12:46 UTC
    You can look unfamiliar with a language without having another language's accent.

    I don't really understand what your definition of accent is then ;-)

    For me it's using one language in a non-idiomatic manner because your approach to solving problems has been pushed in one direction by another languages idioms.

    For example, I'm not avoiding meta-classes in CLOS because I'm unfamiliar with the concept. I started learning OO with CLOS and other languages that supported meta-classes long before I came across Perl. I'm avoiding them because I've spent a lot of time coding type in Perl over the last few years, and Perl doesn't support classes in the same way as other OO languages.

    Another example is when I started learning Ruby. I definitely wrote Ruby with a Perl accent for some time before I learned the more natural Ruby idioms. I had people comment on that fact because I was doing things like explicit loops rather than using iterators/continuations.

      For me it's using one language in a non-idiomatic manner because your approach to solving problems has been pushed in one direction by another languages idioms.
      If the idioms you choose to use are typical of one language, you're coding with an accent. If the idioms you choose to use are common to a lot of languages, but the language you're using has a "better way", you're coding in baby talk, which is different from an accent. In other words, if it's clear that your background is with a particular language, you're coding with an accent; if it's only clear that your background isn't with the language you're using, no accent.

      Caution: Contents may have been coded under pressure.
Re^8: pissed off about functional programming
by Anonymous Monk on Apr 26, 2005 at 15:34 UTC
    Of the things you list, throwing things in a hash might be one that is distinctively Perl-tinged
    Don't forget the very Perlish "every problem can be solved with a regex" mindset.