I strongly disagree.
Naming things is hard, and with source-stability we have to get it right the first time. It would be counterproductive to disallow naming discussions during review, and a waste of everyone’s time to reject a proposal just because someone came up with a better spelling during review.
The way Swift Evolution works, it is not actually incumbent upon reviewers to read the review thread. You are perfectly free to state your own evaluation and feedback on a proposal, then pay as little heed to the rest of the posts as you like.
My experience has been quite the opposite. I have seen numerous instances where the right name was not even thought of by anyone until the review thread, and once it was posted people quickly recognized it as superior. Often these developments only occur as a result of some back-and-forth discussion about possible names.
The pitch phase of a proposal is where people with a strong interest in the feature come up with ideas and an implementation. There are many pitches out there, and most people do not have the time nor inclination to become involved in all of them.
Syntax is equally as important as semantics, so if proposal authors have a strong and principled reason for preferring some spellings over other, they should put as much effort into having the proposal explain the choice of spelling as it does on the choice of behavior.
Conversely, some proposal authors are much more interested in semantics and less interested in syntax, and that is perfectly fine too. There is no sense in requiring authors who care about functionality to go outside their domain of expertise and nail down one specific spelling if they don’t want to.
Being “married” to a naming choice is a bad thing. The goal of Swift Evolution is to improve the Swift language, and a significant part of that is getting the right names for things in the Standard Library.
Nobody should come into a review thread with a “religious” attachment to some particular spelling. It is fine to have reasonable disagreements, but the mental stance of “My way or the highway” can only lead to inferior results, and increased animosity.
Instead, we should all go into these discussions with the attitude of “Here are my ideas, they are the best I could come up with, and I sincerely hope someone else comes up with something even better.”
This is interesting and worthy of further consideration. There is certainly a balance to be had between fluency when reading call-sites, and familiarity of terms of art. They both contribute to clarity at the point of use, which is our overarching design guideline. I am not yet sure where I stand on the matter.
Anecdotes and first impressions *are* relevant data when naming APIs. Type information, documentation, and knowledge of the problem domain can all help with understanding, but clarity at the point of use remains paramount, because code is read more often than it is written.
If anything, I would say that responses like “That name was already discussed in the pitch phase” should not be considered valid during review, unless they actually explain the reasoning. If the name was indeed discussed during the pitch, then the proposal should include a summary of that discussion. If there are valid reasons for disfavoring it, then the proposal should explain them.
Regardless, the review thread gets a lot more eyes than any pitch, so it is to be expected that there may be aspects and ideas that the relatively smaller group which developed the pitch may have overlooked. It is more important to get things right in the end, than for any one person to *be* right.
Bottom line, naming things is hard:
https://twitter.com/secretGeek/status/7269997868