What the hell is Erlang?

At 13:37, I posted the following to Twitter: "looking a bit into the programming language Erlang, to find out why it is used to develop such advanced pieces of software as CouchDB."

It's 14:40 now, and after reading thru the "Getting Started with Erlang" (PDF) tutorial, I'm starting to understand it. Let me quote a few excerpts from the book:

"...  so if you know the pid of a process, the “!” operator can be used to send it a message if the process is on the same node or on a different node."

"spawn() can also be used to start processes in other nodes."

"This sort of problem can be solved more easily if you use the facilities ... which will also provide methods for updating code on the fly etc."

"...handling of nodes which disappear..."

Add to this that it is a functional language (meaning amongst other things, that it can be used for insane recursivity and your stack will not fill up) , and you get the picture. Erlang is a language specifically tailored for easy interprocess communications, and those processes can be running in the same Erlang instance, or on a different processor in the same machine, or even on a computer on the other side of the planet.