[I repeatedly prompted Claude 4.0. Prompt #3: “what might be a better word for "concurrency" as it is implemented in comp sci?”]
Looking at what concurrency actually does in computer science - rapidly switching between tasks to create the illusion of simultaneity - here are some potentially better terms:
Interleaving - This directly describes the mechanism: tasks are broken into pieces and their execution is interwoven together.
Multiplexing - Already used in other contexts (like network multiplexing) to describe sharing a single resource among multiple users by rapidly switching between them.
Time-slicing or Time-sharing - These describe the actual technique, though they might be too implementation-specific.
Multitasking - This is actually closer to the user-visible behavior and is already widely understood.
Sequential concurrency or Pseudo-parallelism - These would clarify that it's not true simultaneity.
Interweaving - Similar to interleaving but perhaps more intuitive.
I think interleaving or multiplexing would be the most technically accurate, since they describe the actual mechanism without the misleading implication of simultaneity. Multitasking might be the most intuitive for general audiences.
The irony is that "concurrency" in CS describes something that's explicitly not concurrent in the everyday sense of the word - it's more like "managed sequential execution" or "coordinated turn-taking.”
See Also
Email: ptcomputingsimplicity@gmail.com
References: https://guitarvydas.github.io/2024/01/06/References.html
Blog: guitarvydas.github.io
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/65YZUh6Jpq
Leanpub: [WIP] https://leanpub.com/u/paul-tarvydas
Twitter: @paul_tarvydas
Bluesky: @paultarvydas.bsky.social
Mastodon: @paultarvydas
Substack: paultarvydas.substack.com