Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Upgrading CPAN - Yes We Can

by JavaFan (Canon)
on Jun 03, 2009 at 20:43 UTC ( [id://768157]=note: print w/replies, xml ) Need Help??


in reply to Upgrading CPAN - Yes We Can

After using GitHub, Google Code and other online coding collaboration tools, CPAN (once a shining jewel in my view) is starting to feel a bit 1990's-ish.
CPAN is not an online coding collaboration tool. CPAN was, and will always be, a distributed distribution mechanism. Nothing more, nothing less.

CPAN is also not a community effort. It was created by a few who 'just fucking did it'. IMO, CPAN was great, still is great, and will be great in the future. It's simplicity and unpretentiousness are the keys to its success. That allows the many mirrors to exists - the simplicity means virtually no (CPAN-specific) maintenance.

Ladies and Gentlemen, we can rebuild it. We have the technology. We have the capability to build something better than the current search.cpan.org
That reads as "I want you to do it".

If you want something better than CPAN, start building. Words are cheap. In the open source world, you're judged by your actions, not your speeches.

Replies are listed 'Best First'.
Re^2: Upgrading CPAN - Yes We Can
by jdrago_999 (Hermit) on Jun 04, 2009 at 04:34 UTC
    CPAN is not an online coding collaboration tool. CPAN was, and will always be, a distributed distribution mechanism. Nothing more, nothing less.

    I wouldn't say "always" there. Or at least "always" + "only" - I might have misunderstood the new whizbang features in Perl6's modules but this part right here:

    The syntax of a versioned module or class declaration has multiple parts in which the non-identifier parts are specified in adverbial pair notation without intervening spaces. Internally these are stored in a canonical string form which you should ignore. You may write the various parts in any order, except that the bare identifer must come first. The required parts for library insertion are the short name of the class/module, its version number, and a URI identifying the author (or authorizing authority, so we call it "auth" to be intentionally ambiguous).
    For example:

    class Dog:ver<1.2.1>:auth<cpan:JRANDOM>; class Dog:ver<1.2.1>:auth<http://www.some.com/~jrandom>; class Dog:ver<1.2.1>:auth<mailto:jrandom@some.com>;

    Since these are somewhat unweildy to look at, we allow a shorthand in which a bare subscripty adverb interprets its elements according to their form:

    class Dog:<1.2.1 cpan:JRANDOM>

    So instead of just

    use DBI;

    I could have

    use DBI:ver<4.2>:auth<http://www.devstack.com.com/cpan/DBI>;

    and get a completely different set of code than the "canonical" version (who knows how we decide on that).

    Just Perl6's package loader tells me that something significant is about to happen to CPAN - and someone (I'll do it if I can get the time to) will need to accommodate the new features Perl6 will provide. I figure we could extend those features to Perl5 by adding coderefs to @INC. Something like:

    use NiftyPerl6PackageNames; use DBI:ver<4.2>:auth<http://www.devstack.com.com/cpan/DBI>;

    ..............................

    CPAN is also not a community effort.

    If you say so...

    It was created by a few who 'just fucking did it'. IMO, CPAN was great, still is great, and will be great in the future.

    I have a strong feeling that a single, comprehensive archive of instantly-installable, free and open-source code will not only belong to Perl much longer. Other platforms could really benefit from something similar, and before long I'm sure CPAN will be viewed as a "predecessor to XYZ" (where XYZ is the Great New Thing for something else, like Ruby, .Net or Python).

    I also believe that if (for example) someone like Microsoft were to create a "CPAN" for .Net, it would have all the features I've mentioned above, and more. Ultimately it would make our beloved CPAN look like a toy from the 1990's.

    It's simplicity and unpretentiousness are the keys to its success. That allows the many mirrors to exists - the simplicity means virtually no (CPAN-specific) maintenance.

    Uh-huh. Simplicity is good. So is a lack of pretense.

    You and I and every programmer in the world knows that the first time you write a system, you know you could always do it better the second time around. The thing is that every system becomes a prototype for its replacement. Even Perl5 will one day succumb to Perl6. It is inevitable.

    Along similar lines, the CPAN and all of its satellites will one day either become or become eclipsed by another CPAN-esque service that is simply Way Better.

    Saying that what we have is Good Enough, or slinging the good old "Well then crank some code out, dude" just won't cut it. I have a few modules on CPAN and am always adding more. I do crank out code when I can, and when I see a need that's not yet fulfilled - like this one.

    Creating Yet Another CPAN Alternative is, while within my realm of skill, not what I would aim for. Instead, I would like to open the discussion for what the Perl community and user base will need for the next 20 years with Perl6.

    If that discussion has already taken place, I will probably it 2 minutes after typing this response - and read it. And perhaps see why I'm barking up the wrong tree. Or maybe I'll post a link to that discussion within this thread.

    Wish me luck ;)

Re^2: Upgrading CPAN - Yes We Can
by leocharre (Priest) on Nov 26, 2009 at 04:37 UTC

    You know what pissed me off about cpan.. Is when the lil portraits of the author's popped up :-)

    I used to think the place looked so damn pro without any sillyness.. until.. that one thing came along..

    I had fantasies of starting a campaign to get authors to associate blank squares for the pics .. hahaha...

    Well.. at least I now know what Mark Stosberg looks like.

A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (1)
As of 2024-04-25 04:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found