<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">>> On 08/28, Xiao Jia wrote:</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">>> But in such languages as C++/Java/... we are not forced to mutate variables</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">></span><span style="font-family:arial,sans-serif;font-size:13px">> so we can still employ some coding style/guidance of creating new objects</span><br style="font-family:arial,sans-serif;font-size:13px">
<div><span style="font-family:arial,sans-serif;font-size:13px">></span><span style="font-family:arial,sans-serif;font-size:13px">> instead of mutating existing objects most of the time.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">...</span></div>
<div><br></div><div>On 8/28 Fred Hebert wrote:<br></div><div><span style="font-family:arial,sans-serif;font-size:13px">> Ah but did the people writing the libraries you use think the same way?</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">> </span><span style="font-family:arial,sans-serif;font-size:13px">One of the advantages of Erlang is that because of its constraints,</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">> </span><span style="font-family:arial,sans-serif;font-size:13px">*everyone* programming in it ends up making decisions that are generally</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">> </span><span style="font-family:arial,sans-serif;font-size:13px">amenable to concurrency and to some extent, distribution. Those who</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">> </span><span style="font-family:arial,sans-serif;font-size:13px">don't tend to make libraries that hardly scale on a single node to begin</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">> </span><span style="font-family:arial,sans-serif;font-size:13px">with (with heavy bottlenecks and whatnot).</span><br style="font-family:arial,sans-serif;font-size:13px">
<br></div><div>...</div><div><br></div><div>Is this true of Erlang libraries that use NIFs and or Port drivers? Specifically, I'm thinking of blocking the VM scheduler(s).  </div><div><br></div><div>Cheers,</div><div>
Rich</div></div>