Naming of new lazy versions of existing Phobos functions
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Fri Jul 18 13:35:30 PDT 2014
On 7/18/2014 12:40 PM, Tourist wrote:
> Are you planning to deprecate the non-lazy functions at some (maybe very
> distant) point?
No. Phobos has already gone through multiple rounds of renaming/deprecation, all
at considerable disruption. Each one was supposed to be "worth it" and the "last
time". It needs to stop.
> If yes, I agree that it's a good opportunity for a cleanup, and
> there's no point to add prefixes/suffixes.
I object to the characterization that changing the names is a "cleanup", as if
the current names are just screwups.
General comment (not particularly directed at Tourist):
There is no such thing as the perfect set of names and the perfect naming
convention. These discussions about which of "car", "auto", "vehicle" is more
intuitive give the illusion of sage discussions on issues of note, but are
really just bikeshedding. There is no correct solution, and no possibility of
consensus. Coding styles and best practices also change, making earlier name
choices seem quaint, but that still doesn't justify renaming them all to the
latest fashion.
I can't understand any user caring if a function is named "setExt" or
"setExtension" or "withExtension". It's more like he needs a function that sets
a filename extension, he finds it, uses it, and moves on.
What matters is what setExt() actually does, which is provide a lazy algorithm
designed to be composable and not make decisions about how needed memory is
allocated, thereby providing maximum flexibility and utility to the user.
I find these interminable naming threads to be frustrating and an impediment to
progress on issues with Phobos that actually matter, like making Phobos usable
for people who don't want to use the GC.
My bias is to give strong preference in names to the choice of the person who
actually wrote the code in question. I agree that there are sometimes bad name
choices that need some correction. Heck, I agreed to change peek/poke to
volatileLoad/volatileStore because sound reasons were presented. I am not
absolutely opposed to changing names, but let's keep things in perspective and
work on things that matter.
More information about the Digitalmars-d
mailing list