> On Dec 19, 2018, at 12:33 PM, Michael Catanzaro <mcatanz...@igalia.com> wrote:
> 
> On Tue, Dec 18, 2018 at 9:31 PM, Darin Adler <da...@apple.com> wrote:
>> I’ve gotten used to the name AtomicString over the years, but I wouldn’t 
>> strongly object to changing it if other programmers are often confused by 
>> it’s similarity to the term “atomic operations”.
> 
> Well there were two other developers in the thread Ryosuke linked to who made 
> the exact same mistake as me, so I do think the current name is problematic. 
> A change wouldn't need to be drastic, though. I think suggestions from the 
> old thread like "StringAtom" or "AtomString" would be unproblematic. The 
> problem is the specific word "atomic" carries an expectation that the object 
> be safe to access concurrently across threads without locks; I think that 
> expectation doesn't exist if not for the "ic" at the end.
> 
> FWIW I've only ever heard the "interned string" terminology prior to now.

“Interned string” is really obvious to people who have seen it but mysterious 
to those who have not. Unfortunately, I don’t think there is a term for this 
concept that most programmers will already know. So the best we can do is a 
term that is clearly something you need to look up and can’t be confused for 
something else. Another term of art name for this concept is Symbol. 
Unfortunately, search results for String, Atom and Atom String don’t give a 
helpful explanation, and Symbol could be confused with the JavaScript 
language’s notion of symbols. “Interned String” gives helpful search results, 
but is not the normal use of the terminology. Usually there is an operation 
called “intern”, or there might be reference to “string interning”, but it 
usually gives back just a plain string, or a type with a name like “atom” or 
“symbol”.

On balance, if we change, I’d lean towards Atom, since it is concise, obviously 
mysterious if you don’t know what it is, and understandable to at least some 
people who have seem that name for the concept. The only downside is that it’s 
not obvious from the name that it is a kind of string.

Regards,
Maciej

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to