4 ms·
Erlang is a way better fit for a distributed agent orchestration layer. You have a ton of dependencies, over network and maybe in userspace, you have a lot of i
by arthurcolle 1y ago
Erlang is a way better fit for a distributed agent orchestration layer. You have a ton of dependencies, over network and maybe in userspace, you have a lot of inter-operability and reliability constraints, you want to hotswap code and capabilities at runtime, without degrading the overall system performance. And you get networking/distribution/async message passing for free
https://github.com/arthurcolle/agents.erl https://github.com/arthurcolle/agents.erl
I consider myself an expert in this relatively niche domain and welcome follow up, critiques, and even your most challenging problems. I love this area and I think distributed systems are coming back in a big way in this new era!
- hosh 1y agoI came here to say that too. It already does well coordinating IoT networks. It's probably one of the most underestimated systems. The Elixir community has been working hard to be able to run models directly within BEAM, and recently, have added the capability for running Python directly.
- arthurcolle 1y agoHaha I wrote https://github.com/stochastic-thread/snek.ex https://github.com/stochastic-thread/snek.ex 10 yrs ago What are they doing with Python on the BEAM these days? I'm OOTL
- throwawaymaths 1y agohttps://github.com/livebook-dev/pythonx https://github.com/livebook-dev/pythonx
- guywithahat 1y agoIf you don't mind me asking why would one use Erlang over Elixir?
- eru 1y agoErlang has better syntax than Elixir. But otherwise they are mostly the same: Elixir is just an Erlang reskin. So pretty much wherever you can use one, you can use the other.
- Teifion 1y agoAn anecdote which may be of interest. Speaking to Elixir and Erlang developers I found those who started with Erlang preferred its syntax while those who started with Elixir or didn't know either preferred the Elixir syntax.
- eru 1y agoI agree that either way, Elixir is mostly just a reskin. I would have like it more, if they had reskinned it to look more like Haskell. But that's just my preference.
- arthurcolle 1y agoIt doesn't feel different enough to merit a difference. Elixir is just a set of Erlang macros that turn one syntax into .beam that otherwise wouldn't turn into .beam Elixir is way more productive to write/deal with (Phoenix vs. Erlang templating) maybe if you're a web dev, but at the end of the day you're dealing with the same exact same underlying architecture. If you're a prolog programmer, Erlang will feel nicer than if you're a ruby programmer. I have many packages published as Mix packages, and some published as rebar packages. Overall, ergonomics definitely feel nicer with Elixir, but I feel like by having it be portrayed as "so different" from Erlang, people don't pull open the Erlang/OTP docs, and don't look at the dozens of behaviors that already exist that usually solve your problem. Like, why is there a gen stage in Elixir but not in Erlang? If you wanna use the BEAM, you can use it. If they were more in sync, and provided OOTB in the same distribution, I'd always lean towards Elixir. Just feels weird that Elixir gets a bunch of street cred for what are fundamentally Erlang/OTP capabilities
- oxidant 1y ago
- samuell 1y agoWhile I think there is some truth to that regarding the programming paradigm, I always felt the EVM have two big drawbacks, compared to something like Go: 1. Requiring a VM, making deployment more complex. 2. Not being natively compiled, or always having this performance roof for the inner loops. After considering both Erlang/Elixir and Go a lot for my scientific workflow manager, I finally went with Go for these exact reasons.
- throwawaymaths 1y agoreleases give you a tar.gz with everything bundled.
- alienchow 1y agoThe OG container.
- deleted 1y ago[deleted]