elixir : erlang vm (BEAM) :: clojure : jvm
Elixir's syntax is heavily influenced by Ruby but its semantics and structure is very reminiscent of Clojure. Like Clojure you are constantly reminded you live on JVM, with Elixir you are constantly reminded that Erlang is under the covers and thats OKAY.
Its really great stuff and the creator José Valim has really put thought, love and care into every part of the project. I highly suggest you take a look, you might be surprised at what you find.
It has immutable data but not immutable bindings. Erlang has both as immutable. What that means is, you can do x = value1 then x = value2. In Erlang, like in mathematical notation, once you said X=value1 it is value1, it doesn't make sense to say X=value2 (it throws an exception). In either case you can't modify value1 in place for example by saying x[3]=4 or X[3]=4 ( <- I am making up syntax to illustrate here).
Some like it one way some like it another.
Elixir has better meta-programming, which is nice.
In general, Erlang syntax is not the steepest learning curve. The steepest learning curve is to learn to use actors for concurrency and use functional programming for sequential parts. Elixir presents a more familiar syntax but the other learning curve parts are still there.
All of this while basically living in erlang. You can call erlang functions with a slightly different syntax, :erlang_module.function_name, and you can natively use erlang packages and files with mix(it checks for rebar/makefiles and makes educated guesses on how to build them, or you can configure it).
If you think its a benefit of Erlang its probably also a benefit to Elixir.
EDIT: I also forgot you get things like the threading macro(|> from clojure et al), built in testing framework, and a VERY active and helpful community on irc #elixir-lang and the mailing list.
Easy to configure and the deploys are pretty fast.
Disclaimer: I wrote it
For me it's not so much about bringing a nicer syntax to Erlang (Erlang's syntax is very nice once you get used to it, except for single assignment IMO. I'd prefer it if Elixir had taken Erlang's syntax and added support for rebinding variables and macros) but about tooling (mix, the build tool absolutely rocks) and libraries (e.g. take a look at http://github.com/elixir-lang/ecto).
Another way is to jump on irc freenode #elixir-lang and ask :).
Another way is to use it, report bugs, poor error messages or unclear documentation, and maybe fix it.
I did the later and the Elixir developers were super helpful and responsive.
also, jose valim must have clones of himself.
The elixir-lang getting started guide covers a ton as well.
I'd also highly suggest working through http://learnyousomeerlang.com/ as almost all of the concepts apply to elixir.
If you are having trouble hop onto irc freenode #elixir-lang and ask for help! Always someone willing to offer guidance, including the creators and some of the Erlang contributors!
The plan is to have v1 happen early this year and after that we'll start seeing more products being built with Elixir.
But really any project using Erlang can and probably will add some Elixir to its code base at some point. The languages complete interop between each other by way of sharing BEAM byte code.
I've been involved in the Rust community, a considerably larger, more active and more mature community, and I would consider a RustConf still a little premature.
Is there really enough interest in it? How many people are expected to attend? How many are needed to attend to break even in some manner?
Note Julia, Rust and Elixir are quite close to each other (which is nice considering they are about the same age). So, based on this data, I wouldn't classify Rust's community as considerably larger than Elixir's. Although Mozilla definitely helps Rust get some exposure!
Also I believe Elixir is more stable than Rust since Elixir runs on top of an existing Virtual Machine which helps us bootstrap the ecosystem and also skip a lot of "infrastructure work". We have also been avoiding breaking changes and doing deprecation cycles for almost a year now (sometimes it is unavoidable though) and Elixir has already 3 books in development (by O'Reilly, Manning and Pragmatic Programmers) with Elixir v1.0 planned for this summer.
Just to be clear, I am not knocking on Rust, just assessing the development stage of both languages (and please correct me if I got something wrong).
I am not sure about the conference details though, as I am just helping promote it, but wasn't there something like 20 or 30 people at the first RubyConf in US? We all need to start somewhere. :)
Rust, by the way, goes back further than 2012; it became public in 2010.
IRC:
- irc://irc.mozilla.org/#rust: 480 people
- irc://chat.freenode.net/#elixir-lang: 158 people
On GitHub:
- mozilla/rust: 414 watchers, 4,776 stargazers, 993 forks.
- elixir-lang/elixir: 217 watchers, 2,317 stargazers, 323 forks.
Reddit:
- /r/rust: 3,754 rustaceans, ~30 users here now, 172 posts in the last month
- /r/elixir: 448 developers, ~6 users here now, 14 posts in the last month
Mailing lists:
- rust-dev (it hasn't been split yet like elixir's are and is mostly development stuff; /r/rust is used more for other talk): 50 threads this month
- elixir-lang-talk: 45 threads this month
- elixir-lang-core: 23 threads this month
Stack Overflow
- [rust]: 294 questions
- [elixir]: 119 questions
Google Trends: https://www.google.com/trends/explore#q=rust%20programming,e... shows "rust programming" at around 3× "elixir programming"
I agree that elixir is a little closer to being a mature language (for Rust, 1.0 is not expected for some months yet, though probably still this year), and the elixir community does appear to be more active and mature than I had thought, but overall it still looks to me as though Rust has at the very least the larger community (I'll drop the active claim out of laziness and the mature claim for insufficient evidence) by a considerable way.