Originally Posted By: DWallach
There's also a newer variant called Elixir that looks like it's trying to modernize some of the older syntactic cruft. Did you look at this or other new stuff that runs on the ErlangVM?


"Cruft" is a bit harsh. You get used to it. What's with all those semi-colons in C, amiright?

We looked. There are two reasons we didn't use it: first it was still, like, version 0.6. The second is what I'm calling "the CoffeeScript problem". To use CoffeeScript, you still have to know JavaScript. To use Elixir, you still have to understand Erlang, otherwise none of the libraries you'll be using will make any sense to you.

Purely stylistically, I think that, in its attempt to look vaguely like Ruby, Elixir changed more of the Erlang syntax than it really needed to. I find it a bit jarring when I look at Elixir code.

With that said, I've not looked at that much Elixir code, so maybe it'll grow on me.

There are other languages that run on the Erlang VM, such as LFE (Lisp-Flavored-Erlang) or Joxa.

There are a bunch of good reasons to use Erlang (actually OTP). The actor model is simple; supervisors are a good way to structure problems. Akka has both of those, though. The hot code loading is great in production environments. The introspection tools (fire up a remote console on a production server, start asking questions) are epic. We're not doing much with zero-downtime upgrades or with node clustering yet.

As an undergrad language, it's not a 101-level language. The learning curve's not particularly steep, but the ceremony involved in getting "Hello World" up the first time is a little off-putting.
_________________________
-- roger