3 ms·
> Let's use async instead of saying that concurrent means async but not parallel in spite of it's common meaning. No, let's not. They mean different things. Th
by throwaway613834 9y ago
> Let's use async instead of saying that concurrent means async but not parallel in spite of it's common meaning.
No, let's not. They mean different things. The execution of Python generators is concurrent with your code, but not parallel or asynchronous. And it's also completely possible to have concurrent synchronous parallel execution [1].
[1] https://en.wikipedia.org/wiki/Bulk_synchronous_parallel#The_model https://en.wikipedia.org/wiki/Bulk_synchronous_parallel#The_...
- dahart 9y agoI think you agree with me- the comment I replied to appears to conflate concurrency and asynchrony. The article is about async. I’m saying use async when talking about async. And I avoid using concurrent if I can. It does not have a strict CS definition, and it is prone to miscommunication. Many people use “concurrent” when they are talking about parallelism. Some people’s CS definition of concurrency is not very well matched with the common non-CS definition of the word. The dictionary definition of “concurrent”, according to Google, is: “existing, happening, or done at the same time.” synonyms: simultaneous, coincident, contemporaneous, parallel Using “concurrent” to mean not parallel, or even out of order or not necessarily parallel, just seems like a bad idea.
- throwaway613834 9y ago> I think you agree with me- the comment I replied to appears to conflate concurrency and asynchrony. The article is about async. I’m saying use async when talking about async. I'm not sure we do. The comment you replies to does not conflate those. "You can have concurrency as in async Javascript" is exactly correct: an example of concurrency is async in Javascript. People don't say "an example of asynchronicity" because that's not what they want to talk about. You can't really change the word unless you change the topic they are trying to talk about. > And I avoid using concurrent if I can. It does not have a strict CS definition It very much does. It means an operation overlapping in time with another one, i.e. one beginning before the other one ends. The colloquial definition is irrelevant in a technical context. It's like suggesting scientists stop using the word "theory" on the grounds that laymen don't use it properly. No, people should just use the right word in the right context.