concurrency is often bad

1 view
Skip to first unread message

Raoul Duke

unread,
Sep 17, 2025, 10:05:39 AMSep 17
to pi...@googlegroups.com
the DX i mean, still depressing here in 2025, in no small part because of underlying other DX fails:

we cannot even always easily debug plain old synchronous resource problems in our day job languages, so adding concurrency into the mix muddies things even worse. 

why is eg memory allocation management still so hard? rust is an improvement in some ways but hardly a perfectly ideal end state of language evolution, i posit. 

(and, not even bringing up distributedness.)

DX turdles all the way down?

David Barbour

unread,
Sep 17, 2025, 2:20:20 PMSep 17
to pi...@googlegroups.com
Fundamentally, it is much harder to understand potential interactions with many things occurring at once compared to a simple sequence of of events. 

At best, we can support comprehension by constraining interactions or improving instrumentation. 

For constraints we might favor FIFOs or CRDTs over general shared memory, use transactions, or immutable or linear data types. But there is no known set of constraints that is best for all use cases, so there will be awkward or low performance cases affecting DX.

For instrumentation, I think language support for 'continuous' probes would be useful, e.g. 'log(Message){Operation}' to continuously update Message while Operation is running, or 'assert(Condition){Operation}' to express an invariant over Operation. Closer, conceptually, to how we might probe a circuit board.

Raoul Duke

unread,
Sep 17, 2025, 2:35:29 PMSep 17
to pi...@googlegroups.com
I wish I had time to try and learn delcarative dataflow concurrency
models and see if the grass is greener there.

David Barbour

unread,
Sep 17, 2025, 4:05:27 PMSep 17
to pi...@googlegroups.com
It is nicer for some problems, but you'll still have awkward interactions with shared databases or filesystems or network APIs at the edges. Or if you want to model a shared database internally within an app, you may find yourself awkwardly, explicitly modeling the required routing and multiplexing.

Session types are perhaps the most flexible approach to declarative concurrency I've seen, generalizing fifo 'channels' to arbitrary structure.

On Wed, Sep 17, 2025, 1:35 PM Raoul Duke <rao...@gmail.com> wrote:
I wish I had time to try and learn delcarative dataflow concurrency
models and see if the grass is greener there.

--
You received this message because you are subscribed to the Google Groups "PiLuD" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pilud+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pilud/CAJ7XQb7Ju5ing0cBfdnwdhYiqUM7cqZi%3D3vv0vyKBCq7KniJNw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages