Stutter is a real cognitive issue. If a “task scope” only has meaning within a structured context, “structured” is redundant. I like the idea of a separate package to group the concepts - as there are others features like values - as an optional paradigm. Learning “packages” used to mean that you learned the concepts backing them and they were grouped for a relationship. The fact that you can use use structured concurrency and never think about the word “thread” to me implies a different package.
But what do I know. Very little I suspect. > On Mar 24, 2026, at 11:33 AM, Pavel Rappo <[email protected]> wrote: > > On Sat, Mar 21, 2026 at 5:02 PM Eric Kolotyluk <[email protected]> wrote: >> >> <snip> >> >> 2. StructuredTaskScope seems like a long name and seems related to >> ScopedValues >> * Not that I mind long names > > Java and core APIs historically valued clarity and explicitness. Even > today, longer words are not frowned upon and somewhat expected. > > Out of curiosity, how many times do you normally write > "StructuredTaskScope" in your code that you are concerned with the > length of this name? In what way does your code suffer because of it? > > As for whether ScopedValues is related to StructuredTaskScope. Hm... > Does it not? ( > https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/lang/ScopedValue.html#inheritance > ) > >> When using a StructuredTaskScope, scoped value bindings are captured when >> creating a StructuredTaskScope and inherited by all threads started in that >> task scope with the fork method...
