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

I think an accent comes from moving from a less feature-rich language to a more feature-rich language, and not using the new features.

While Perl is a nice wide language it still has it's restrictions, corners and peculiar mind set. I know I have to unbend my mind from Perl when I wander off into other languages. Some examples of my Perl accent include:

  • Comment on Re^6: pissed off about functional programming

Replies are listed 'Best First'.
Re^7: pissed off about functional programming
by Roy Johnson (Monsignor) on Apr 26, 2005 at 11:37 UTC
    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.
      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.
      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.