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

Re: [extremeperl] Better Development Tools for Perl

Expand Messages
  • J Matisse Enzer
    First of all, thanks so much for your response. ... I think you are basically correct about that. I d add code-assist and dynamic syntax-checking as well, but
    Message 1 of 107 , Jun 5 3:59 PM
    • 0 Attachment
      First of all, thanks so much for your response.

      On Jun 5, 2005, at 10:15 AM, Perrin Harkins wrote:

      > I don't agree. I have several great text editors with debugger support
      > for Perl, so your argument boils down to a lack of testing and
      > refactoring support.

      I think you are basically correct about that. I'd add code-assist and
      dynamic syntax-checking as well, but you are right that I consider
      refactoring support to be a really big deal, and in fact, the reason I
      think refactoring support is so important is because it is closely
      related to the danger you described - "crazy hacks like shoving methods
      into other module's symbol tables..." etc. Any realistic improvements
      in automated refactoring for Perl (Perl 5 anyway) are only really going
      to work on more-or-less standard-perl, doing things the "normal" way.

      Part of my enthusiasm for automated refactoring is that if you can do
      that then you can also do a bunch of other useful things, like good
      code-assist, for example click on a object reference and get a menu of
      available methods - that's standard in Eclipse/Java, not yet available
      in any Perl editor I know of.
      So in some ways refactoring support is a proxy for other desirable
      things, as well as being valuable in itself.


      >
      > In my last job in a Java shop, no one wrote any unit tests at all.
      > Ever. On my last two Perl jobs, there was extensive use of unit
      > testing.
      >

      That implies to me that the Java folks were not taking good advantage
      of the tools available to them - they could have done a better job if
      they had, and that the Perl folks (like you and I :-) did the best they
      could with what is available.

      > If you use something like Module::Starter to
      > stub your modules (or Catalyst for WWW projects), it generates basic
      > test stubs for you too.


      I think Test::More is great. I wish EPIC (the Eclipse Perl module:
      http://e-p-i-c.sourceforge.net/) would generate test stubs - I didn't
      know about Module::Starter and have just looked at it - maybe it can be
      incorporated into EPIC the way Devel::Refactor has been. I will say
      that using JUnit from within Eclipse is pretty damn easy so I'm not so
      sure about Test::More being easier - I use both and I guess my milage
      varies from yours on this.

      > The refactoring stuff is a more reasonable complaint, but are we all
      > going to curl up and die because we don't have a menu item for changing
      > a method name?

      No! I've started to contribute to Devel::Refactor and am learning Java
      partly so that I can contribute to EPIC. And I'm writing stuff like
      this thread to get people talking about it, learn more myself and see
      what else can be done. Far from curling up and dying!

      Also, just to be picky, it's not just "rename method" - it's
      refactorings like:
      - extract method (EPIC does provide a basic version of this)
      - push a method down to sub-classes, preview and approve changes
      - pull a method up into a super-class, preview and approve changes
      - change method signature (add/remove args, and update all references)
      - etc. you get the idea.

      > I would focus on getting people to make clean, readable code a
      > priority rather than spending lots of time automating refactoring.
      >

      Hmm, you are suggesting that effort be spent changing the culture,
      getting people to stop "polluting the commons" in a way. I'd like to
      hear more about that approach. I'm suggesting that if we make the tools
      way better - yes, automated refactoring support *and all that goes with
      that* then people will use the better tools (but only if the tools are
      way better than vim/emacs/textpad etc.) and the result will be more
      effective projects overall. If we can make good changes in the culture
      *and* in the tools that would be best.

      I realize that making tools for Perl that are as good as the tools
      available for some other newer languages is hard - but I am sure it is
      possible, and I think the same may go for improving culture, it is hard
      but probably possible, I'd love to hear how you feel it can be done.

      -M

      -------------------------------------------------------
      Matisse Enzer <matisse@...>
      http://www.matisse.net/ - http://www.eigenstate.net/
    • 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.