4 ms·
What are the differences between CPAN and, for instance, Maven repositories?
by Kototama 15y ago
What are the differences between CPAN and, for instance, Maven repositories?
- blibble 15y agoindeed, or pypi, or PEAR, and I'm sure ruby has something similar too
- gte910h 15y agohttp://rubygems.org/gems http://rubygems.org/gems 2005 gems listed at the moment.
- utkarshkukreti 15y agoThat's 2005 gems starting with the letter "A".
- gte910h 15y agoGood Catch
- Mithaldu 15y agoAll of those have a long way to go yet to match the CPAN ecosystem. See my reply above.
- blibble 15y agoand as a user of packages, rather than a package developer, I care about precisely none of that functionality. I want this package installed (plus its dependencies), and I want it now, that's all. I'm not sure I buy that (paraphrased) "Perl is good because CPAN has billions more packages than other language's repos" either, for one I remember trying to find a library that did SHA1 digests, there were three, and I managed to pick the one that give incorrect results... of course in Python it's just built-in, as are sockets, http, smtp, imap...
- Mithaldu 15y agoAs a user of dists all that stuff is extremely important to you for two reasons: For one, it means the dists are of higher quality because authors have better tools at their hands and get poked to increase quality. For the other, as a user you can tell whether the dist works on your particular system without even installing it and if it doesn't, you can easily find out on what system it DOES work, or which previous version did work on your system: http://www.cpantesters.org/distro/M/Moose.html#Moose-2.0205 http://www.cpantesters.org/distro/M/Moose.html#Moose-2.0205 > I managed to pick the one that give incorrect results... That's why there is a review system: http://cpanratings.perl.org/dist/Email-Send http://cpanratings.perl.org/dist/Email-Send http://cpanratings.perl.org/dist/Email-Sender http://cpanratings.perl.org/dist/Email-Sender
- blibble 15y agoI guess understanding why purely language bound code (which most likely accounts for 95% of the packaged code out there), e.g. an object system, would need testing across the cartesian product of all versions, all OSes and all archs, is beyond me... I guess when you have a language that doesn't have a specification, you require things like this...
- Mithaldu 15y agoIt doesn't need it. It just gets it because the ecosystem is there and automatically does it for everything. The database interfaces get it, the Windows Process Memory access library gets it, the Hiragana learning tool gets it. Doesn't matter how big or small the project is, the service is provided for free, for all. That is why i said the other languages have a long way to go yet; no matter how much you try to shift goal posts or resort to out-of-band attacks.
- blibble 15y agoyes, but the point is if the utility provided by these "dists" would be mostly useless for other languages, then it's hardly honest to use said feature to promote CPAN (and therefore perl) against other languages. the review system is a questionable advantage too, as I don't want to go digging through 16 SMTP packages to find the best one, and especially as I suspect most people install CPAN modules through the command prompt (or via their distro's package manager), rather than digging through a website. I also note that Python tends to adopt the best packages into the standard library...
- Mithaldu 15y agoNext time i'll make the ecosystem bit blinking and pink. Maven repositories are just that: Repositories. They store file and display some metadata. CPAN shows documentation from the code of a distribution itself. It also provides a bugtracker. When installing things from CPAN via cpan on the command line, the tests of that dist are run. Users can opt to install Test::Reporter, which then uploads those test results to cpantesters.org. Many people do this, across many OSes and Perl versions across the globe. Authors of dists get emails of failures. Users can look at nice matrices displaying the passes and failures on their platform combination. On failures regression analysis is performed automatically to try and pinpoint possible failure reasons. Since metacpan there is also a public API to an ElasticSearch database containing all the metadata about CPAN dists and their authors. So you can for example, find all dists written by authors living in your town. Et cetera. I could go on, but i think i made my point.
- deleted 15y ago[deleted]