<story><title>Unpacking Elixir: Concurrency</title><url>https://underjord.io/unpacking-elixir-concurrency.html</url></story><parent_chain><item><author>out_of_protocol</author><text>Unlike javascript, elixir makes you write synchronous code, e.g.&lt;p&gt;&lt;pre&gt;&lt;code&gt;    def process_items(items) do
        items
        |&amp;gt; Task.async_stream(&amp;amp;Processor.process&amp;#x2F;1, max_concurrency: 2, timeout: 7000, on_timeout: :kill_task)
        |&amp;gt; Enum.to_list()
    end
&lt;/code&gt;&lt;/pre&gt;
Semantics of regular and concurrent code is the same</text></item></parent_chain><comment><author>jerf</author><text>Node has kind of wrecked the term &amp;quot;synchronous&amp;quot;. It convinced many people that &amp;quot;synchronous&amp;quot; also entails &amp;quot;only thing running on the processor at the time&amp;quot; and &amp;quot;if you&amp;#x27;re &amp;#x27;synchronously&amp;#x27; waiting on a file read the entire process is waiting&amp;quot;. So when you say &amp;quot;Elixir&amp;#x2F;Erlang&amp;#x2F;any threaded language &amp;#x27;makes&amp;#x27; you write synchronous code&amp;quot;, to the people who most need to hear this, those steeped in the async way of the world, you confuse them because to them that means your language can only do one thing at a time.&lt;p&gt;I&amp;#x27;m not saying I&amp;#x27;m happy about this or that the meaning has &amp;quot;really&amp;quot; changed; I&amp;#x27;m just saying from experience you don&amp;#x27;t really want to phrase it this way because you only reach those who already know.</text></comment>
<story><title>Unpacking Elixir: Concurrency</title><url>https://underjord.io/unpacking-elixir-concurrency.html</url></story><parent_chain><item><author>out_of_protocol</author><text>Unlike javascript, elixir makes you write synchronous code, e.g.&lt;p&gt;&lt;pre&gt;&lt;code&gt;    def process_items(items) do
        items
        |&amp;gt; Task.async_stream(&amp;amp;Processor.process&amp;#x2F;1, max_concurrency: 2, timeout: 7000, on_timeout: :kill_task)
        |&amp;gt; Enum.to_list()
    end
&lt;/code&gt;&lt;/pre&gt;
Semantics of regular and concurrent code is the same</text></item></parent_chain><comment><author>Dowwie</author><text>comment here is conveying that there is no function color, where a language distinguishes standard synchronous calls from asynchronous calls</text></comment>