A my friend asked me why I’m interested in Erlang/Elixir and what is the motto of them?
I said that:
- “write once, run forever”.
[Joe Armstrong remarked in an interview with Rackspace in 2013: "If Java is ‘write once, run anywhere’, then Erlang is ‘write once, run forever’.”
[José Valim mentioned “You are already designing your system around tiny processes that are isolated and distributed. Call them nanoservices if you’d like to!”
…and Erlang/Elixir are Architecture Oriented Languages (AOL).
[I thought that as the favor of OTP and BEAM]
Then my friend: “WOW! lemme touch AOL”.
[A chat in lockdown time ]
I like that naming convention a lot!
I tend to organize my code with equal attention to the functional aspects of the language and the integration with OTP - so I think in some ways that’s a fair statement.
… But at the same time do we consider OTP and Erlang integration to be core to the elixir language… not sure! I sure do but others may have different opinions
Joe Armstrong liked to use the term “Concurrency Oriented Programming”, there’s even a publication wrote by him
For a language to qualify as a “Concurrent Oriented Language” the following criteria should apply:
- We should be able to create large numbers of processes.
- Processes creation and destruction should be an efficient operation.
- Message passing between process should be inexpensive.
- Processes should share no data and operate as if they ran on physically separated processors