<story><title>Unpacking Elixir: Concurrency</title><url>https://underjord.io/unpacking-elixir-concurrency.html</url></story><parent_chain><item><author>tombert</author><text>Disckaimer: I have never used Elixir in any serious capacity, but I have done a good chunk of Erlang.&lt;p&gt;Concurrency in Erlang sort of frustrates me...not because it&amp;#x27;s bad, but because when I use it I start getting pissed at how annoying concurrency is in nearly every other language.  So much of distributed systems tooling in 2023 is basically just there to port over Erlang constructs to more mainstream languages.&lt;p&gt;Obviously you can get a working distributed system by gluing together caches and queues and busses and RPC, but Erlang gives you all that out of the box, and it all works.</text></item></parent_chain><comment><author>hinkley</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;    Any sufficiently complicated distributed program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Erlang&lt;/code&gt;&lt;/pre&gt;</text></comment>
<story><title>Unpacking Elixir: Concurrency</title><url>https://underjord.io/unpacking-elixir-concurrency.html</url></story><parent_chain><item><author>tombert</author><text>Disckaimer: I have never used Elixir in any serious capacity, but I have done a good chunk of Erlang.&lt;p&gt;Concurrency in Erlang sort of frustrates me...not because it&amp;#x27;s bad, but because when I use it I start getting pissed at how annoying concurrency is in nearly every other language.  So much of distributed systems tooling in 2023 is basically just there to port over Erlang constructs to more mainstream languages.&lt;p&gt;Obviously you can get a working distributed system by gluing together caches and queues and busses and RPC, but Erlang gives you all that out of the box, and it all works.</text></item></parent_chain><comment><author>macintux</author><text>I fell in love with Erlang pretty quickly, and it’s hard for me to enjoy writing other languages. Simple concise syntax, pattern matching, immutability, error handling without branches all over the place, concurrency… it’s hard to walk away from that.</text></comment>