|Perl Monk, Perl Meditation|
Re: why isn't cpan like npm?by learnedbyerror (Monk)
|on Apr 22, 2018 at 22:50 UTC||Need Help??|
Dmitry, I am choosing to interpret your question as an opinion question, since it really is. I started with perl in either late 1988 or early 1989. I started on perl 2 and moved to the newly released perl 3 when it came out. Initially all of my work with it was parsing text files at which it excelled continues to do so today. Somewhere along the way, I started writing network clients and servers with it because it was much simpler and more reliable than other tools available to me. But, when perl 5 came out in 1994, I was blown away! In my mind, at this point, my favorite scripting language became my favorite programming language! Thank you Larry!!!
My world was rocked again in 1995 when CPAN was created. I could now see the benefits of the internet and open source in a very tangible way. Things continued to improve with perl and continue to do so today. That doesn't mean that all is perfect.
We have arguments about what should be in perl5 and some strong minded perl devotees who are sure p5p is on a fast track path to hell. Just as other family members wonder while perl 6 is running around in the clouds and not about the real world which by their definition is and can only be perl5. Nonetheless, perl continues to exist as a community that has inspired many others.
Somethings that have come to my mind over the years
So to wrap up, I see a lot of similarities with node.JS and perl. npm is built on a model started by perl. In some cases, it may legitimately do a better job that CPAN does. I have a lot of things that I wish were done better with CPAN, like aging out very old modules - oops those modules are probably still in production somewhere - or at least giving me a way to hide them or sort by last update date on MetaCPAN. But in the end, perl and CPAN continue to be examples of fundamental goodness that I use almost every day when I am leading software teams and need examples to show the importance of coding for clarity, documentation, test driven development, continuous integration with all of these at scale and lasting over time.