One thing I've found useful is the ease of having small embedded DSLs -- data-driven code, also known as. Writing small interpreters can do wonders sometimes, and is easy in Erlang.<br>Here @work we used that for a project were we needed a set of heuristics-based data transformation - "if the data has this form, apply that transformation". And I've also written data-driven unit tests.<br>
Erlang's literals are fairly good for this.<br>The generators of QuickCheck and its kin are another example of this.<br><br>(Erlang's far from unique wrt this, but it's a thing to like nonetheless. Scala and Haskell are stronger at DSLs in some respects, I believe -- but I don't think they have something like file:consult/1.)<br>
<br>And, as others have mentioned: good, strong encapsulation, in the form of immutable values and process-level isolation - encourages separation of concerns, increasing the chance of understandable code.<br><br><div class="gmail_quote">
2012/8/27 Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
I am wondering what you guys like the most about Erlang/OTP, especially newcomers, maybe it changed your life, allowed you to climb the Everest (or at least sleep at night).<br>
<br>
I'll be synthesizing that into a few key points that I am hopeful will be reusable by anyone wanting to sell Erlang to their friends/work/clients.<br>
<br>
So help me by telling us what's so good about it!<br>
<br>
Thanks.<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Loïc Hoguin<br>
Erlang Cowboy<br>
Nine Nines<br>
<a href="http://ninenines.eu" target="_blank">http://ninenines.eu</a><br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</font></span></blockquote></div><br>