[erlang-questions] Erlang and the learning curve
Bryan Robinson [ICG-MKTS]
Tue Jan 4 17:20:36 CET 2011
I cannot stress what Joe wrote enough:
On 01/04/11 04:17, Joe Armstrong wrote:
>> but seriously, how do people bridge the gap
>> > between understanding the basics and implementing real world projects with
>> > Erlang? I know the three major books are available, but none of them are
>> > really using Erlang for what I'd like to do...
> This is what you do - buy one of the books - modestly prevents me from
> telling you which is best -
> then type in the programs staring at the simplest.
> It's very important that you type in the programs *yourself* - don't
> download the code
> and run it.
> You have to get the syntax into your spine not your brain.
> When you type in the programs, you'll make tiny errors, missing commas etc.
> Fix these error - this is the tricky bit.
A book is a great investment for saving time in learning Erlang. All of
the Erlang books available are *very readable* and accessible. You can
often buy used copies through Amazon Marketplace or something similar
for even lower prices.
As for your project, just start writing a piece of it in Erlang, just a
small piece. It helps if you've read a few chapters from an Erlang book
on sequential and concurrent programming in Erlang. You don't need to
overload yourself with processes, patterns, OTP and more advanced
features--learn them as you need them. As everyone is saying, Erlang
really is a simple language. Once you have this small piece working to
your satisfaction, you'll also find that you have more confidence with
Erlang, and most likely you'll be itching to continue.
The first serious piece of Erlang code I wrote was for parsing an XML
file using Erlang's SAX library. I understood the ideas behind XML and
SAX, so it was a matter of referencing the docs for the Erlang library
and then trying out things...and failing a lot. It took longer than I
would have liked, but I learned an a lot about Erlang too. During the
development of this small code, I gained a lot of first hand experience
with lists, error handling, records, compiler error messages, and most
significantly, how to handle state in a functional environment. When I
went back to make the code more readable, macros then came into the
picture. When I was stuck, I kept going back to simple examples in the
book I purchased for ideas on how to do things, and even looking at the
Erlang docs and the simple examples in there as well.
More information about the erlang-questions