After reading some exciting posts about Erlang, I decided to find out for myself what this language is all about. So I ordered Programming Erlang. Software for a Concurrent World, from the Pragmatic Bookshelf, and today I received my copy of the book.

It’s about concurrency. It’s about distribution. It’s about fault tolerance. It’s about functional programming. It’s about programming a distributed concurrent system without locks and mutexes but using only pure message parsing. It’s about speeding up your programs on multi-core CPUs. It’s about writing distributed applications that allow people to interact with each other. It’s about design methods and behaviors for writing fault-tolerant and distributed systems. It’s about modeling concurrency and mapping those models onto computer programs, a process I call concurrency-oriented programming.

I don’t have time right now to dive into it too deep, I just started reading the first chapter, and I am already shocked.

Erlang has single assignment variables. As the name suggests, single assignment variables can be given a value only once. If you try to change the value of a variable once it has been set, then you’ll get an error.

Wondering why?

If you use a conventional programming language such as C or Java to program a multi-core CPU, then you will have to contend with the problem of shared memory. In order not to corrupt shared memory, the memory has to be locked while it is accessed. … In Erlang, there is no mutable state, there is no shared memory, and there are no locks. This makes it easy to parallelize our programs.

I am sure I will have lots of fun learning it!

Share and Enjoy:
  • Digg
  • del.icio.us
  • description
  • Facebook
  • Google
  • Ma.gnolia
  • Reddit
  • Slashdot
  • SphereIt
  • StumbleUpon
  • Technorati
  • TwitThis
  • Wikio