[Quoting Eric Wilhelm, on June 16 2005, 15:14, in "Re: RFC:  Getopt::Mo"]
> 15 years * n requests/year = 15*n degrees of flexibility = unpredictable

Hmm. I'd say

 15 years * n requests/year * m happy users = reliability

which is as meaningless as your formula. 

> True, but Getoptions() currently contains all of the "expertness" of 
> G::L, which means that other modules cannot learn anything about the 
> options (such as when Getopt::Helpful would like to know if these are 
> simple/float/list/hash, etc options without re-implementing G::L's 
> parsing.)

I can make this information available, if users would be interested.

> If you tear it apart and put it back together in pieces, 

How I do it, is my responsibility.

> If it involves typing @main::ARGV, something is wrong.

This is another one of your statements that feel like a religious
issue. If typing @main::ARGV indicates that something is wrong, I
think you have to address the Perl design and maintenance team.

> Could be.  Is this something that can/should be resolved with 
> yet-another-option?

If you don't like it, don't use it. Why prevent others from using
something they find useful?

> >* multi-pass support
> >  I think this is possibly the only real improvement to G::L.
> 
> And, (from my reading of G::L) one that requires a fundamental 
> restructuring of the code.

I currently have two projects that address this issue: Getopt::Toolkit
(which is based on Getopt::Long) and Getopt::Long version 3 (which is
a complete redesign, a.k.a. Getopt::Long on steroids). Merging the two
projects into a single new Getopt::Long version is somewhere on my
TODO list. HOWEVER, since I highly appreciate my happy users, whatever
comes out of the merge will be drop-in compatible with the current
Getopt::Long. If this implies that you will not use it because it is
too flexible, that's fine with me. One unhappy user against a zillion
happy users.

Finally, I must say, your web site makes me sad.

There's nothing wrong with willing to write your own Getopt:: module,
but if you want to motivate this by mere criticizing other people's
modules you'd better use good arguments. And it would be nice to
communicate the arguments with the other party first.

>From the site:

  Everything you need and nothing you don't.

<sarcastic>Thank you, Eric, for saving the world by telling us what we
need and what we don't.</sarcastic>

  I started writing this module because I was trying to use
  Getopt::Long as if it had an API and it doesn't.

That's okay. Reading the docs would have helped, though.

  Things like juggling @main::ARGV just had to stop.

That's a personal opinion. Please address P5P if you don't like this
language feature.

  There's a few other "features" in Getopt::Long that you may not have
  even discovered yet. 

Please mention the "features" that are not documented (so I can
fix the code or improve the documentation).

  Needless to say, we don't need those.

Again, a personal statement. You may not need them, others do.

Just like "Perl can do SystemV message queues and semaphores. Needless
to say, we don't need those. So let's write our own Perl clone that
doesn't have this facility." Yuck.

-- Johan

Reply via email to