Loading ...
Sorry, an error occurred while loading the content.

Mixins (was: Re: [extremeperl] Better Development Tools for Perl)

Expand Messages
  • Adam Turoff
    ... True, but any technique can be abused and lead to uncontrollable complexity. Structured programming isn t the savior it once was. The real benefit of
    Message 1 of 107 , Jun 6 9:06 AM
    • 0 Attachment
      On 6/6/05, Perrin Harkins <perrin@...> wrote:
      > Rob Kinyon wrote:
      > > I'm one of those people who believes in both coder-defined imported
      > > mixins -and- Code Complete.
      >
      > I have a particular grudge against mixins. Having a name for them makes
      > them sound so reasonable, but how long will it be before two people
      > release mixins that want to use the same method name? They effectively
      > flatten the namespace.
      >
      > > Good Perl
      > > code can be all of those things and be very dynamic.
      >
      > At some point, the complexity gets out of control. Using lots of magic
      > tends to lead to code that requires the programmer to keep a whole set
      > of invisible extras in their head while working on a few lines of code.

      True, but any technique can be abused and lead to uncontrollable
      complexity. Structured programming isn't the savior it once was.

      The real benefit of mixins is that code works in a more aspectish
      manner. Instead of defining a huge hierarchy of objects to handle every
      possible combination of features, each basic object is implemented once,
      and each standalone feature (or variation of a standalone feature) is
      implemented once, simplifying the complexity from ~ MxN to ~ M+N.

      Of course, mixins can be abused, leading to action-at-a-distance
      (which is arguably worse than a forest of classes). And if a system
      pulls in mixins from hither and yon, the net result will be somewhat
      chaotic. I would argue that these corner cases you describe are an abuse
      of mixins, and are a funky-mixin codesmell that is a signal that the
      entire system needs a refactoring or two to return to a simpler state.

      -- Adam
    • Siegfried Heintze
      Since there was a helpful discussion some time ago on USB keyboards and mice for pair programming that was not specific to perl, I wanted to solicit the group
      Message 107 of 107 , Feb 13, 2006
      • 0 Attachment
        Since there was a helpful discussion some time ago on USB keyboards and mice
        for pair programming that was not specific to perl, I wanted to solicit the
        group for information on network software (also not specific to perl).



        I just set up openVPN on my openwrt/WRT54G router for pair programming with
        a headset and skype.



        (1) Can any point me to the documentation on sharing desktops on windows? I
        need to create accounts on Win2003 XP Server. When I created an account
        belonging only to the user group, my partner could not log in. He was
        receiving some error message about not being permitted to log in
        interactively. However, when I added the administrator group (reluctantly)
        to his account, he could log in. Is there a tutorial somewhere on the web
        for creating user accounts in windows for use with remote desktop logins on
        VPNs?



        (2) How do I share my remote desktop setting with a programming pair
        partner?



        (3) What about sharing sessions when I'm booted with linux? I think there is
        a vnc program out there, but I don't know how to use it. I'll need to learn
        how to create accounts and share linux desktops with remote VPN users. Is
        there a tutorial on this?



        (4) Are video cams very helpful for pair programming?



        It seems that this kind of knowledge would be very common for pair
        programmers.



        Thanks,

        Siegfried



        [Non-text portions of this message have been removed]
      Your message has been successfully submitted and would be delivered to recipients shortly.