I just started playing with Elixir this weekend, and it was a ton of fun. Ruby syntax + macros + Erlang semantics + UTF-8 strings is a great combination. And the Programming Elixir book from Pragmatic Press was a good introduction, too.
But I especially enjoyed Erlang's concurrency model and OTP. In a few hours, I was able to go from basic message passing, to a simple OTP server, to distributed processes communicating between multiple VMs, and finally to a supervised OTP server with automatic restart on crash. Erlang provides an awful lot out of the box, and Elixir makes it quite friendly-looking.
However, it's not a mature environment yet. The tools are pretty good for a young language, but the ecosystem is still small. Nonetheless, there's some cool stuff out there already:
Can I ask you, where did you learn OTP? Did you know it from before, did you follow a specific book/tutorial? I've been interested about OTP, and would appreciate a good starting point.
But I especially enjoyed Erlang's concurrency model and OTP. In a few hours, I was able to go from basic message passing, to a simple OTP server, to distributed processes communicating between multiple VMs, and finally to a supervised OTP server with automatic restart on crash. Erlang provides an awful lot out of the box, and Elixir makes it quite friendly-looking.
However, it's not a mature environment yet. The tools are pretty good for a young language, but the ecosystem is still small. Nonetheless, there's some cool stuff out there already:
Experimental web framework: https://github.com/elixir-lang/dynamo Mnesia distributed DB wrapper: https://github.com/meh/amnesia Heroku buildpack: https://github.com/goshakkk/heroku-buildpack-elixir
I'll need to build a larger system in Elixir, but the my initial impressions are good.