Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: why isn't cpan like npm?

by learnedbyerror (Monk)
on Apr 22, 2018 at 22:50 UTC ( #1213390=note: print w/replies, xml ) Need Help??

in reply to why isn't cpan like npm?

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

  • perl lent a degree of legitimacy to being a monger :)
  • CPAN was the first code repository to scale
  • perl's cpan tool was the first tool to pull code from a repository, test and install code on a local machine
  • Others languages, repositories and package installers such as Python( PyPi, pip), JavaScript( npm, npm), .Net( NuGet, "Solution Explorer" ) and others have benefited from the learnings of perl
  • JSON was probably at least partially inspired by perl's references syntax. <= My opinion - no supporting material here> Crockford et al were working in a web world where perl CGI was the lingua franca for servers. I am guessing they were knowledgeable about perl. There is too much similarity to be a coincidence (See Rule #39)

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.

If you want to use JavaScript on node with npm, knock yourself out. It won't offend me. But if you blindly walk away from perl without a real investigation - like realizing that you are using a 13 year old version - i.e. a version that predates the very existence of node - then you are doing yourself a disservice.

Enjoy! lbe

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (1)
As of 2020-10-25 05:44 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (249 votes). Check out past polls.