Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^7: Why is it in some other popular languages fewer steps and potential issues when installing libraries no testing needed and no compilation of C/C++ code done

by tsee (Curate)
on Apr 09, 2011 at 17:24 UTC ( [id://898520]=note: print w/replies, xml ) Need Help??


in reply to Re^6: Why is it in some other popular languages fewer steps and potential issues when installing libraries no testing needed and no compilation of C/C++ code done
in thread Why are other popular languages very different from Perl when installing libraries, e.g. no testing needed and no compilation of C/C++ code done

Check out PAR::Repository and/or PAR::Repository::Client.

More specifically, before discrediting PAR for what you want, you might want to read it's documentation. It contains this snippet:

use PAR { repository => 'http://foo/bar/' }; use Module; # not locally installed!

P::R::Client even has an auto-upgrade mode. Furthermore, for generating large sets of reusable packages, you can use PAR::Dist::FromCPAN or PAR::Dist::FromPPM.

  • Comment on Re^7: Why is it in some other popular languages fewer steps and potential issues when installing libraries no testing needed and no compilation of C/C++ code done
  • Download Code

Replies are listed 'Best First'.
Re^8: Why is it in some other popular languages fewer steps and potential issues when installing libraries no testing needed and no compilation of C/C++ code done
by hermida (Scribe) on Apr 09, 2011 at 17:55 UTC

    Whoh, whoh, whoh tsee.. I never discredited PAR in any of my posts, in fact I mentioned it as a possible solution/analog to eggs. I don't think you are reading the posts properly, you're thinking about it in the wrong way. It's not PAR at all that's the problem. I've been programming in Perl for 12 years as a bioinformatician/computational scientist in academia and the biomedical research industry where Perl has been used heavily for that entire same time and I've never seen any open-source Perl-based project/application/system/server that when you download and run the setup it automatically fetches .par files for each of its dependencies, puts them somewhere and uses them transparently when running itself (analogous to what I wrote in the OP about Python and eggs for this open-source Python server I'm using).

    If this does exist as you indeed say then it's not at all common. And that was the point I was making, not that PAR isn't a perfect solution for that, but that this style of dependency management just isn't commonly used and then if people don't see it they won't do the same when they are writing their next Perl project. So this goes back to my original question why you see eggs a lot in Python and don't see pars or anything like that a lot in Perl and many monks nicely explained in this thread as to why.

      So to sum up:

      • The technology for auto-fetching binary packages is there both via PAR and PPM.
      • PPM is widely used on Windows, not very much elsewhere.
      • PAR is not used much in this fashion in the open.

      I will go as far as saying that this is the status quo because there is not a lot of demand for binaries outside Windows. Personally, I think trusting random people with creating binaries for you in a bit of a niche isn't the brightest idea and in this case, entirely not necessary. Chances are, there'll be a foul egg somewhere.

      Instead, binary packages should be taken from your friendly OS or language binary vendor. Generally in science, this means from your Linux distribution. Anything else can easily be installed from sources using one of the many CPAN clients that automatically resolve dependencies for you.

        * PPM is widely used on Windows, not very much elsewhere

        Then why does ActiveState provide builds for solaris and linux? The answer is because it has customers

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (3)
As of 2024-04-19 22:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found