jpie...@cpan.org wrote:
I was wondering what the rationale for staking out a top-level namespace to 
match
your username on CPAN is?

In the past, I went through the process and put one module into the global CPAN name space -- Math::TriangularNumbers:

    http://backpan.perl.org/authors/id/D/DP/DPCHRIST/


When I wanted to automate the module document generation, release, and distribution processes for this and all my other Perl code, I looked at Module::Build, etc.. Being an old-school machine code, assembler, C, and CLI kind of guy, and not to mention lazy, for better or worse I decided to stick with the ExtUtils::MakeMaker I knew and loved, and figure out how to extend it. But, I knew I was treading on old, thin ice. As I understand it, using your CPAN author ID as a top-level module namespace (e.g. Dpchrist::*) is the convention for personal and/or experimental code:

    http://search.cpan.org/~dpchrist/


So, I copied the contents of Math::TriangularNumber into Dpchrist::TriangularNumber and began working on that and Dpchrist::Module. As work progressed, I created more Dpchrist::* modules. I later deleted Math::TriangularNumbers from CPAN, but the ghost of an evil twin that I created through an improperly named distribution tarball uploaded to CPAN haunts me to this day:

    http://www.cpantesters.org/distro/M/Math-TriangularNumbers-r.html


Please understand that there is software (1x effort), there is systems software (3x effort), there is software product (3x effort), and there is systems software product (10x effort):

    http://en.wikipedia.org/wiki/The_Mythical_Man-Month


According to Brooks, Dpchrist::* is software (at best). When people use a module from the global CPAN namespace, they deserve systems software product. I can't afford that level of effort.


My knowledge and skills with Perl are neither advanced nor current, and my code reflects it. If you're shopping CPAN for canned solutions to problems you need to solve, you're better off finding out how better Perl programmers than myself have already solved those problems and using their solutions and/or modules.


If and when some portion of the Dpchrist::* code qualifies as Modern Perl systems software product, it would then be appropriate to obtain consensus from the CPAN module authors community as to the most proper subdivision and naming of the work, including the possibility of incorporating it into already existing module(s), and do so at that time.


<rant>

But to be blunt, what is missing in Perl is a complete, consistent, and professionally designed, constructed, documented, tested, and supported library. (Python is supposed to excel in this regard, but a dirty old hack like me could never use a whitespace sensitive language.)


Hell, we don't even have a current programmer's reference guide! Where is Programming Perl, 4 e.? I've got money burning a whole in my pocket for that book! ;-)

</rant>


I would welcome help in improving my Perl skills, Perl code, and/or usage of CPAN. Please understand that I'm no computer demigod, and that I work on Perl on a time-permitting basis. I am currently trying to get Bundle::Dpchrist to pass all the CPAN Testers smoke tests:

    http://www.cpantesters.org/author/D/DPCHRIST.html


Also on the wish list:

1.  Better documentation and 100% coverage.

2.  Better test scripts and 100% coverage.

3.  Object orientation via Moose.

4.  Databases via DBIx::Class.

5.  Winning numbers for the next California Lottery.


David


p.s. I am cc'ing the beginn...@perl.org and Module-Authors@Perl.Org mailing lists because I know I have more to learn and because other people might have some good comments (lists.cpan.org seems to be down at the moment):

    http://www.mail-archive.com/beginners%40perl.org/

    http://www.mail-archive.com/module-authors@perl.org/

Reply via email to