Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^3: which perl gui toolkit to use?

by BrowserUk (Patriarch)
on Feb 15, 2005 at 17:20 UTC ( [id://431261]=note: print w/replies, xml ) Need Help??


in reply to Re^2: which perl gui toolkit to use?
in thread which perl gui toolkit to use?

I assume you mean that Maypole has a lot of dependancies and would therefore require a lot of work to install manually. But if CPAN doesn;t work for the simple case, it certainly won't work for the complex ones.

The manual method may be tedious, but provided wget works, then the manual process will work.


Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.

Replies are listed 'Best First'.
Re^4: which perl gui toolkit to use?
by gaal (Parson) on Feb 15, 2005 at 17:44 UTC
    Yes, of course.

    The problem installing Maypole is not just the number of dependencies, but their depth. Without something that helps you keep track of the recursive dependencies, it's easy to lose your mental stack pointer and give up somewhere in the n-teenth module.

    Even with CPAN, sometimes things break. My only half-joking workaround:

        system("cpan Maypole") while ! eval { require Maypole };

    (But to be fair, it's been a few months since I last touched Maypole. Things may have drastically improved!)

      Oh I see. I'm only vaguely aware of what maypole actually is (something to do with web apps?).

      I don't have any call for such a beast, but if I did, I probably wouldn't use anything so complex. You just give yourself the other type of maintenance nightmare.

      That of becoming dependant upon a complex framework, which makes your life simpler--once you get past the learning curve--provided it is bug-free and you can adapt your requirements to the solution it provides.

      The problems arise when you encounter a bug or limitation that is critical to your app but doesn't make it to the top of the "needs fixing list"; or you need something that doesn't quite fit with it's way of working, or the authors preferences.

      You can always make local patches to correct those problems you encounter, but if they go against the authors preferences or pull it in a direction the author is not interested in going, you then have to integrate your local changes with those made by the author at each release.

      For a simple package that is bad enough, but as the dependancy chain deepens, so the number of authors grows, and the problems of coordinating local changes get ever worse.

      I once read that the time required for a project grows as T**n; where n is the number of non-overridable decision makers involved. The same holds true for the number of independantly controlled interfaces.

      If they do what you need, your laughing, but if they start to diverge from your requirements, or worse, each other, you have a nightmare.


      Examine what is said, not who speaks.
      Silence betokens consent.
      Love the truth but pardon error.

        As a principle, what would you suggest as an alternative? It's all well and good when a project happens to be small enough that it fits in nicely with the aptitude and resources available to one person, but as we know not all projects are like that.

        I recall you said something similar recently about POE, and also not as specifically less recently. I sorta agreed with you there — my point was that reusing good design is as good as reusing good code — but sometimes you don't have time to do all the coding yourself. (This is problem is remarkable in UI; and most certainly in web presentation where there's a lot of menial work.)

        You seem to be hinting at a profound distinction between library (or module) and framework. If I'm smelling right, would you care to share your thoughts on the differences?

Re^4: which perl gui toolkit to use?
by grantm (Parson) on Feb 15, 2005 at 18:10 UTC
    ... if CPAN doesn;t work ... but provided wget works ...

    In my experience, recent versions of CPAN.pm will use wget in the absence of LWP. So if wget works then CPAN.pm should work too. Perhaps a manual install of the latest CPAN.pm should be the first step.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2024-03-29 01:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found