> Anyway, I think the spelled-out “Synchronous” may be a better name, to avoid the (very likely) case of people mistakenly reading “Sync” as short for “Synchronized”. It’s no longer than “ProcessPool”, and, although it is easy to typo, tab-completion or copy-paste helps, and how many times do you need to type it anyway? And there will always be more readers than writers, and it’s more likely the writers will be familiar with the futures module contents than the readers. And IIRC, this is the name Scala uses.

> Maybe “Serial” is ok too, but to me that implies serialized on a queue, probably using a single background thread. That’s the naming used in the third-party C++ and ObjC libs I’ve used most recently, and it may be more common than that—but it may not, in which case my reading may be idiosyncratic and not worth worrying about.

FWIW, I'm also in favor of SynchronousExecutor. I find that the term "Serial" has a bit too many definitions depending on the context; whereas "Synchronous" is very clear as to the behavior and purpose of the executor. I'd rather the class name to be excessively verbose and more immediately obvious as to what it does; rather than shorter to type and a bit ambiguous.

On Mon, Feb 17, 2020 at 9:05 PM Andrew Barnert via Python-ideas <python-ideas@python.org> wrote:
On Feb 17, 2020, at 15:41, Jonathan Crall <erotemic@gmail.com> wrote:
>
> FWIW I found the term "SyncExecutor" really confusing when I was reading this thread. I thought it was short for Synchonized, but I just realized its actually short for Synchronous, which makes much more sense. While SynchronousExecutor makes more sense to me, it is also more verbose and difficult to spell.

I think that’s my fault—I switched from “serial” to “sync” in the middle of a message without even realizing It, probably borrowed from an ObjC library I used recently.

Anyway, I think the spelled-out “Synchronous” may be a better name, to avoid the (very likely) case of people mistakenly reading “Sync” as short for “Synchronized”. It’s no longer than “ProcessPool”, and, although it is easy to typo, tab-completion or copy-paste helps, and how many times do you need to type it anyway? And there will always be more readers than writers, and it’s more likely the writers will be familiar with the futures module contents than the readers. And IIRC, this is the name Scala uses.

Maybe “Serial” is ok too, but to me that implies serialized on a queue, probably using a single background thread. That’s the naming used in the third-party C++ and ObjC libs I’ve used most recently, and it may be more common than that—but it may not, in which case my reading may be idiosyncratic and not worth worrying about.

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/5KVFCF7S2EBRL2RMZMDMQLA562CM5IG7/
Code of Conduct: http://python.org/psf/codeofconduct/