It would be great if programs were collaborative out of the box.
It would be great if programs were collaborative out of the box.
Also, CRDT's don't provide synchronization for free. They ensure that all concurrent modifications will be merged somehow. If the data being synchronized has any structure, it requires careful CRDT-aware data model design to ensure the merging is semantically reasonable (or that, in the worst case, incompatible changes produce a detectably broken state).
There’s definitely some room for interesting work here and language level support could be cool.
Elixir interpreter clustering and otp is maybe the closest existing thing, which is awesome but only for existing erlang fans.
A library or even built-in language support for distributed data structures will take a decade or two to get to the point of proving a set of features to be truly helpful and good/necessary to have as a library or maybe even as a built-in feature.
BTW, we don't even have quickcheck yet, since the generation and proof reduction quality isn't great across implementations :/
I see their being overhead and what not that would make it very domain specific and less appealing for anything that doesn't need collaboration.
People said the same about web programming and yet we have e.g. Svelte.
Some things are just not so well expressed in a framework. Especially things that manipulate state in special ways.