+1 for OTP in Action.<br><br><div class="gmail_quote">On Fri, Jun 8, 2012 at 5:02 PM, Miles Fidelman <span dir="ltr"><<a href="mailto:mfidelman@meetinghouse.net" target="_blank">mfidelman@meetinghouse.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The best one I've found is "Erlang and OTP in Action" by Logan, Merritt, and Carlsson.  It's the only book I've found that goes seriously into the OTP platform, and into building distributed production systems with Erlang.<br>

<br>
Ivan Uemlianin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The O'Reilly by Francesco Cesarini and Simon Thompson called Erlang Programming is a very well-written solid introduction.  Covers all the basics thoroughly and gives a firm foundation of OTP.<br>
<br>
It has useful exercises at the end of each chapter.<br>
<br>
Ivan<br>
<br>
Sent from my iPhone<br>
<br>
On 8 Jun 2012, at 20:16, Ian <<a href="mailto:hobson42@gmail.com" target="_blank">hobson42@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<div class="im"><br>
<br>
Is there a book, on-line resource, or even a well written open-source project, that would help me understand how to write good clean Erlang code?<br>
<br></div>
I taught myself PHP about 4 years ago, and have recently had to go back and modify the first large system I wrote, and I find the coding of that system is dreadful! Now that's good in the sense that I have improved, but bad in that the code is still bad and its costing me effort while I change it now. Its also bad because I should have enough programming experience to avoid writing bad code. I've been programming since 74.<br>

<br>
I am about to build two web based applications in Erlang, and I don't want to wince too much  when I come to enhance them.<br>
<br>
Thanks for any tips<br>
<br>
Ian<div class="im"><br>
<br>
<br>
<br>
<br>
<br>
<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>
</div></blockquote><div class="im">
______________________________<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>
</div></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
In theory, there is no difference between theory and practice.<br>
In practice, there is.   .... Yogi Berra</font></span><div class="HOEnZb"><div class="h5"><br>
<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>
</div></div></blockquote></div><br>