On Sun, 09 Oct 2011 12:48:09 -0400
James Cloos <cl...@jhcloos.com> wrote:

> AM> "USE=perl" tells you squat, you don't even know what effect it
> AM> will have. You'd have to read the ebuild and the source to figure
> AM> that out.
> 
> AM> A MUCH better name is "USE=tabs" with a description like this
> AM> "Provide multiple tabs, requires perl."
> 
> No, that is not a better name for the USE flag.
> 
> Anyone who has read the docs for rxvt-unicode knows that the perl
> extension is just that, an *extension*.  It is perfectly valid to
> configure rxvt-unicode with --disable-perl.  And on some smaller
> boxen it may even be necessary.  (Sometimes conserving ram is more
> important than extra functionality.)
> 
> perl is the right USE flag for rxvt-unciode, and should remain a
> USE flag.  It enables much more functionality than just the tabbed
> extension, but does so at an expense.  An expense which is easily
> noticed on smaller boxen.


Fair enough. I suspected the flag might enable plugins and considered
finding out what it actually does. But I didn't bother because I don't
use rxvt myself and that specific wasn't the point of my post anyway.

I still maintain the "perl" is not a good name for that flag. It does
not describe what the flag accomplishes, it describes an implementation
detail of how it is used. USE="perl" communicates very little; it might
communicate a lot to you if you know the guts of the app, but very
little to the casual observer wanting to find out what rxvt is.

I run into this kind of thing all the time, and not just with USE
flags, it's endemic amongst coders. The problem is best described like
so "high level description should expose what your code does, not how it
does it". I understand why coders make this kind of mistake -
expediency. It's easier to re-use the existing perl flag than to make a
whole new one in use.local.desc

For rxvt, a suitable flag name would be "plugins"


-- 
Alan McKinnnon
alan.mckin...@gmail.com

Reply via email to