Ambients seem indeed cool and this is where I first heard about them.
> One problem that I see with all 3 technologies (ambients, tuplespaces, and syndicate) is that they sit somewhere at the intersection of datastructures / infrastructure / frameworks, but don't have clear and obvious deployment options.
I disagree. I think it's simply still science fiction and the cutting edge of distributed research which isn't very popular in academia these days. Actors (1978) are just now barely becoming mainstream with the hype of Elixir and rediscovery of Erlang, even though the world still runs on multithreaded C and dead locks.
The tech is cool, but no one is being paid just yet to create practical languages and environments out of this. As in many other scientific endeavours, mainstream programming paradigms tend to lag 20 or 30 years compared to the research.
There's been an increasing interest in the Fediverse and local-first programming. Not quite mainstream, but they are well out of the academia.
I have never heard of these ideas about the Syndicated Actor, but they seem like they might hold answers for issues in the Fediverse and make implementing local-first software more practical,.
We have things with synchronizing state between web clients and servers and jump though all kinds of hoops with that (example, Relay), and I wonder if this would help with that. Lumen (Elixir on WASM) has stalled in development and LiveView is popular, but maybe with this, that is not what we want to do anyways.
We have things like event-driven architecture, microservices, and DDD, but maybe that results from using narrowly-scoped primitives that isn't suitable for everything. But we use it for adjacent use-cases because that is all we have for commercial languages.
I know that's what a lot of people say, but meh, I was hoping for something more exotic, and there's already lots of ways to web. An implementation of the ambient calculus on top of libcluster would be more killerer :) And re: tuple-spacing, elixir's built-in support for pattern-matching fits really well with that.
Such a thing might handle web as a special case, and could maybe evolve towards secure by design / provably-secure in ways that could be new/interesting. Or it might be a more expressive kind of FaaS, or be wildly popular with the "kubernetes is too complex/expensive!" crowd, especially if it can somehow integrate components written in other languages.
Just dreaming though, I only wish this kind of stuff was my day job. And even if I had really concrete ideas, something more solid than a proof of concept for such things probably needs a small army of devs. Phoenix does have the major benefit of actually existing, which is nice!
> One problem that I see with all 3 technologies (ambients, tuplespaces, and syndicate) is that they sit somewhere at the intersection of datastructures / infrastructure / frameworks, but don't have clear and obvious deployment options.
I disagree. I think it's simply still science fiction and the cutting edge of distributed research which isn't very popular in academia these days. Actors (1978) are just now barely becoming mainstream with the hype of Elixir and rediscovery of Erlang, even though the world still runs on multithreaded C and dead locks.
The tech is cool, but no one is being paid just yet to create practical languages and environments out of this. As in many other scientific endeavours, mainstream programming paradigms tend to lag 20 or 30 years compared to the research.