DIP 1030--Named Arguments--Community Review Round 1 Discussion

Adam D. Ruppe destructionator at gmail.com
Mon Feb 10 22:20:21 UTC 2020


On Monday, 10 February 2020 at 21:54:53 UTC, jmh530 wrote:
> However, python has named arguments for everything, so changing 
> the names would mean that any code that uses the named version 
> breaks. It definitely would make people much more conservative 
> about changing their functions.

In Python it is different because there's no compiler to tell you 
where changes occur.

In D, this is the most trivial type of breakage - the compiler 
tells you where the change is and can make a good guess as to 
what the fix is too and can suggest it.

It is a slight hassle - I remember renaming of functions in 
std.string driving me nuts in D ~2012ish. But it never *broke* my 
code per se, it wasn't something throwing at runtime when it 
didn't before, it was just an annoying half hour of find/replace 
tedium when I chose to update. (and note an option was just to 
defer the update too)

And now the names are legit better.

Like I said earlier in the thread, I can see a middle-man wanting 
compatibility across versions being a maybe, and we could do a 
deprecated alias for that, but I doubt it will be that hard. 
Consider it a minor version bump and - in theory - updates should 
be easy enough to schedule and do that tedious find/replace.


More information about the Digitalmars-d mailing list