H C   S O F T W A R E   L T D

commanderbond cryptosaurus image jdep spambuddy superstopwatch textscape textscape2 utilities xmogrify xql yago

Other parsers

Yago was written for a project, writing which I was frustrated by the existing libraries, which were..

GNU GetOpt

On the plus side, claims to be 100% compatible with C GetOpt which is used by lots of programmes, so behaviour should be quite well-defined. Very lengthy prose documentation with examples, after having read which still didn't know how the "-s::b:b" specs were supposed to work.. Not being familiar with the C programme of which this is a port, found the API quite confusing.

Requires you write lots of code around the GetOpt object, e.g. have a loop and check for expected options, make some other method call to get the value, do different things based on whether you expect a long option or a short or whatever. No typesafety, too much code you have to write yourself.

Jakarta CLI

Used this for several projects. Does a fair amount for you, and usage printout is quite nice, but checking if an option was set seems quite cumbersome; also have to do validation yourself..