top | item 45606529

(no title)

lab14 | 4 months ago

The message passing paradigm is called the "Actor Model" and was invented in the 70s IIRC. It's available in most programming languages and it's not something exclusive to Elixir by any means.

https://en.wikipedia.org/wiki/Actor_model

discuss

order

kylecazar|4 months ago

Not exclusive to Elixir, but the BEAM was built from the ground-up around Actor for concurrency. Almost all other popular language ecosystems have it bolted on over time (with varying degrees of success) or relegated to a third party library. It's very natural and ergonomic in Elixir, because it's the paradigm of choice in the underlying vm.

Goroutines probably come closest.

dpflan|4 months ago

> It's very natural and ergonomic in Elixir, because it's the paradigm of choice in the underlying vm.

Thank you, this is the key factor -- a fundamental design decision that influences the foundation.

dpflan|4 months ago

Correct, it's not strictly unique to this. Even Ruby has it, but Ruby does not have BEAM/OTP.

Smalltalk was a fun language to work with, albeit academically.

nasmorn|4 months ago

Having built a mediumish soft realtime queue processing solution on rails I gotta say it was not great. If we didn’t kinda grow into it I would not have chosen ruby