Over the weekend, I've been playing around with Erlang. I started off with Joe Armstrong's excellent book and then descended into a text editor. As has been my habit for the last few weeks, I started off by trying to write a client library for Windows Azure (which you can see in its current non-working state here.
  • First of, I'm blocked from completing my library because Erlang doesn't seem to have sha 256 support built-in. Or rather, it seems to be commented out and though there are a couple of questions on the mailing list, there is no clear indication for why this is the case. Since Windows Azure uses HMAC-SHA-256 for its authentication, I'm hosed. Of course, I could try and implement sha 256 support but that really isn't my cup of tea :-)
  • Every language has a culture surrounding it, a purpose it shines at. For Perl, this is text processing. For VB, it was business applications. Erlang shines in concurrency and writing fault-tolerant and distributed applications. In fact, I wish I had discovered Erlang when I was trying to high performance networking code a while back - it makes things very, very elegant
  • Erlang's abstractions for concurrent and distributed programming are to be marvelled at. I was blown away by how easy it is to launch a process in a remote machine and play with it easily. There's a section in the book where Armstrong talks about how he launches erlang nodes on machines without having made up his mind on how he's going to use them. That's very, very remarkable and I would love something similar in the managed family of languages.
  • The language seems awkward and dated. I still can't intuitively remember where to place a semi-colon, a comma or a period. The language doesn't 'feel' modern
  • The documentation is sorely lacking. I've been spoilt by my time in Python, Ruby and C# where searching on the web will almost always get you the right result while you hit a one-line method documentation in Erlang.
I'll update this post as I play with Erlang more. Erlang experts out there, if you can help me with my SHA 256 problem, you'll make a fan for life :).

#