2 ms·
I've not used Django or Rails, so I can't speak with respect to those languages, but I am a PHP developer (my primary income comes from sites I've built in PHP)
by chops 17y ago
I've not used Django or Rails, so I can't speak with respect to those languages, but I am a PHP developer (my primary income comes from sites I've built in PHP).
Erlang is a goofy language with it's goofy Prolog-based pattern-matching assignment syntax, and it's (mostly) immutable data.
What appeals to me about Erlang with respect to web development are a few things:
1) Web development is naturally multi-process, and Erlang's extremely lightweight process spawning lends itself extremely well to web apps (compared with the overhead of spawning a PHP process).
2) Erlang lends itself well to comet-style communication (and I can see a strong future using it with websockets), since having a running process with the sockets is very lightweight.
3) Using the message-passing to communicate with some kind of backend application of some sort (in my case, I use it to communicate with a game-server backend also written in Erlang). Having the ability to use message-passing to almost trivially communicate with other connected users brings a rather interesting dynamic.
4) Erlang's general development philosophy of "crash early, crash often" combined with immutable variables makes debugging pretty easy.
Erlang isn't for everyone, but I think it's a great language. I enjoy it's goofy (and pretty terse) syntax. I'm no expert in it yet, by any means, but overall, I find it to be fun, and prefer functional programming to the alternatives.
But like I said, I'm unfamiliar with Rails and Django (I have a Rails book, but haven't gotten to it yet), so I can't speak comparatively.
Edit: mononcqc beat me to it, and also did a better technical analysis than me :)