Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Do you mean the overall platform (OTP etc) ? While different, the Erlang language is small and much simpler than most programming languages IMHO.


OTP makes good sense to me because I built something along the same lines (in C, blasphemy) two years ago.

Erlang the language has me tearing my hair out on occasion. That's not Erlangs fault, it's clearly mine, I grew up with 'BASIC' and moved on Assembler and from there to 'C' and a whole bunch of other imperative languages besides so functional languages are always harder for me to learn.

That said I'm making good progress and Freds book was instrumental in that.


Have you tried learning Prolog sometime? From experience: after a week or two with Prolog jumping back to Erlang was such a joy and relief that I picked it up very quickly :)


That sounds like stomping on your foot to make your headache go away.


Well, it's not that bad - the side-effect from learning Prolog is knowing a bit of Prolog, which is definitely much more useful than being hurt in the foot...

No, seriously: Erlang shares some features with Prolog and learning Prolog lets you learn those features in isolation, without unnecessary distractions (like, say, processes and sending messages, or gen_server/gen_fsm/supervisors or rebar, applications, releases...). For example "=" not being an assignment, and pattern matching in general, starts making a lot of sense. Looping via tail-recursion (only), single assignment variables, and even some of Erlang syntax stops seeming intimidating quickly.

I think the best metaphor for this would be learning to swim via jumping into a deep water, nearly drowning but learning the most important parts (like don't try to breathe underwater) and then going to shallow water to leisurely practice swimming there. It's certainly not for everyone, but for me it sped up the Erlang learning process by many weeks, if not months. (And also, I learned a bit of Prolog along the way.)


Ok. Thanks for all the tips!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: