Phobos version naming
Stanislav Blinov
stanislav.blinov at gmail.com
Wed Nov 3 20:03:48 UTC 2021
On Wednesday, 3 November 2021 at 19:30:13 UTC, Andrei
Alexandrescu wrote:
> On 2021-11-03 11:37, Andrei Alexandrescu wrote:
>> I'd like to devise a robust version naming for Phobos. What is
>> the best way?
>>
>> Currently it's std.v2 but I'm unclear how it goes from there.
>> By semver we'd go with std.v2_0_1 and so on.
>>
>> Walter and others say it's better to have "std2" at top level
>> instead of "std.v2" nested inside std. I confess I chose
>> "std.v2" partially because it's easier to implement. But we
>> can go either way. What would be best?
>>
>
> One thought; we could call version actual names, like Ubuntu
> and OSX do. The version numbers will be a minor detail in the
> documentation.
Please don't do that. Picking good names is hard, and such naming
complicates communication between developers (esp. those not
fluent in language of choice, or not familiar with name origins).
What if a given name is just unnatural to pronounce in your
language? And how do you even maintain the ordering then?
To me, it'd be "better" to have std at top level, not std2 or
std1005000220. So how about turning it around? During
development, whatever next iteration is would be stdNext (or
std.next). At release, it becomes the new std and the *previous*
one gets a number (i.e. in current circumstance it'll become
std.v1). The number may even be date of retirement.
This way it can be made as alias internally, so we can keep
whatever the actual number is rolling, and still be able to break
things that need breaking, and get to have easier to implement
"std.vN".
This makes what's actually standard always, well, standard.
If someone wants or needs old stuff for some reason, it becomes
THEIR responsibility to maintain their compatibility (i.e.
s/<std>/std.vX/g), as it should be.
More information about the Digitalmars-d
mailing list