in reply to 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

As someone who has written XS code with Perl and used the Python C API to create modules, I have to say that the Python mechanisms seem much slicker. Python's distutils is so easy to use, I really wish there was a Perl equivalent ("so write one": if only I had the time). You could argue that ExtUtils::MakeMaker is an equivalent, but that is a generation behind distutils.

As usual I have learnt a lot from the comments on this node from others. I wonder if one of the reasons why the Perl module installation process is so unfriendly might simply be that there is a lack of knowledge of the tools available (or maybe that's just me?). There are so many ways to do it in Perl, but most just want the best way, and need that to be in the main documentation and be accessible. OK, so we have perlnewmod and its ilk, and that gives us the kind of user experience that hermida is complaining about.

Right now a Perl author has to look hard for the best way to create a distribution, with Python you are given it.

  • Comment on Re: 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

Replies are listed 'Best First'.
Re^2: 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
by hermida (Scribe) on Apr 07, 2011 at 16:27 UTC
    I would have to agree with cdarke in terms of the area of the Perl language involving integrating C/C++ code. As a person who just started last year learning how to do it from scratch I can tell you compared to other parts of the language there is a lot of room for improvement, it's just more of a pain in the neck than it needs to be. If you haven't already read chromatic's blog entry on part of this topic Less XS/More CTypes. And a lot of this difficulty brings me to a mediation I made about Putting Perl Back on Top in the Fields of Scientific and Financial Computing, integrating C/C++ code efficiently is a core requirement in these fields and guess what currently Python is taking over Perl's spot because it is much easier for people to do that in Python.

    In terms of creating modules and distributions I think Perl has many wonderful tools, particularly Dist::Zilla and for building and installing more modern replacements for ExtUtils::MakeMaker which are Module::Build and Module::Install.

    In a general sense going on what cdarke said I think there is a lot of work being done and still needs to be done to vastly lower the learning curve it takes for a brand new person to come into the Perl language and most importantly stay there. This is the community area when I have time I try to contribute to because I think it has big bang for the buck. On this one point I have to agree that Python has been doing a somewhat better job, making it so easy to find how to do things and then to do them. You know how new people are if things get too frustrating then bye bye they go to some other language. There is nothing more important than people if you don't have people you don't have a language. People who know Perl then train other people and it just snowballs from there. The old masters will retire one day and we need new, bright and innovative people coming in to keep the language thriving, evolving, dynamic, etc... you know what I mean it's been said millions of times before.

Re^2: 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
by Anonymous Monk on Apr 07, 2011 at 13:42 UTC
    Right now a Perl author has to look hard for the best way to create a distribution, with Python you are given it.

    Horseshit