

Elixir v0.5.0 released - loganlinn
http://elixir-lang.org/blog/2012/05/25/elixir-v0-5-0-released/

======
rlander
I used to be very excited about Elixir, not because I hate Erlang's syntax (I
actually quite like it), but because I saw in it the opportunity for a
mainstream, general purpose language with macros on top of the excellent
Erlang runtime.

However, after 2 small projects with Clojure, my thoughts have changed. To me
it is _the_ general programming language, and it's only a matter of time until
clojure-beam sees the light of day (there's already Joxa).

Also, it occupies a weird spot: after v0.4's redesign, it pretty much kept
Erlang's semantics, which made it unlikely to be adopted by old Erlangers and,
with the whole OO thing was thrown away, it is too much a departure from Ruby.

~~~
josevalim
Thanks for the feedback and for following Elixir all this time! I also enjoy
Clojure a lot and it really gave me some great ideas that were imported into
Elixir. While we have Lisp based implementations on top of the Erlang VM, I
don't think clojure-beam can easily see the daylight unless it contains
significant departures from Clojure. Unfortunately, extending the Erlang VM is
nowhere close to extending the Java VM. :(

The problem with the OO approach is that OO didn't suit well an immutable
language. The Erlang VM forces us to keep Erlang's semantics and it has been
this way before and after the redesign. There is no way around, believe me, I
tried. :)

I agree its current version is a stronger departure from Ruby, but also
simpler and more powerful than before (now we have all of Erlang in our
hands!). We are exchanging the OO familiarity by a better/tighter integration
with Erlang runtime, which will, hopefully, be a good reason for people to try
it out. I also believe there are plenty of reasons for Erlang developers to
try it out, it is more familiar (which actually helps) and addresses many of
Erlang shortcomings (it provides protocols, dynamic records, dynamic function
generation via macros, etc). During the next weeks, I will write a document
more specific to Erlang developers on how Elixir addresses these shortcomings.

When you give Elixir a try, join us at #elixir-lang, I would love to chat
more!

~~~
rlander
> Thanks for the feedback and for following Elixir all this time!

I've been closely following Elixir since it was announced and I should've made
it clear that I still think Elixir is a fantastic project

At first I though it would be my doorway into Erlang programming (or Reia, at
the time), with the familiar syntax and all, but eventually I learned Erlang
and wound up actually enjoying it. Then, an opportunity arose to use Elixir
but, because of its early stage (this was right between 0.3 and 0.4), I
couldn't deploy it in a production environment, so I ended up choosing
Clojure.

So now, between Erlang and Clojure, I can't see where I could justify using
Elixir. It's just my personal experience, of course.

> Unfortunately, extending the Erlang VM is nowhere close to extending the
> Java VM. :(

No need to; one could just adapt ClojureScript to spit out Erlang. It would
depend on the JVM and wouldn't support native macros, but it would work ok, I
guess.

> The problem with the OO approach is that OO didn't suit well an immutable
> language.

I think you made a very wise choice when you ditched OO. I'm all for
functional & immutable.

> We are exchanging the OO familiarity by a better/tighter integration with
> Erlang runtime, which will, hopefully, be a good reason for people to try it
> out.

I understand it might be premature, but I would love to know what kind of
projects/developers is Elixir attracting?

~~~
josevalim
> Then, an opportunity arose to use Elixir but, because of its early stage
> (this was right between 0.3 and 0.4), I couldn't deploy it in a production
> environment, so I ended up choosing Clojure.

At the time (and still today) I would probably have done the same. We still
need a couple more months before we can stamp "Production Ready" in it.

> No need to; one could just adapt ClojureScript to spit out Erlang. It would
> depend on the JVM and wouldn't support native macros, but it would work ok,
> I guess.

I guess I can eventually take a look at this as well for fun. :)

> I understand it might be premature, but I would love to know what kind of
> projects/developers is Elixir attracting?

My background is web development, so expect something in this area in the
future. It always amazes me how people like the What's App guys can get 2
million TCP connections in a single Erlang node (source:
[http://blog.whatsapp.com/index.php/2012/01/1-million-is-
so-2...](http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/)).
With web sockets and native clients becoming more and more common, having
powerful abstractions around TCP connections seems like a good idea.

------
protomyth
I really wish projects like this would put together a basic, downloadable
document on their language. Something that tells the reason and acts as a tour
of the language.

~~~
makmanalp
As an example to this, I really like the xtend docs:
<http://www.eclipse.org/xtend/#extensionmethods>

~~~
josevalim
This is a nice intro. It shows the language features followed by some code
examples, sweet, thanks for the link!

------
vvpan
I am quite excited about this project. When I was looking at Erlang the syntax
totally turned me off, but the rest of it is awesome.

~~~
ericmoritz
What didn't you like about it? I remember hating the syntax when I first start
but forgot why.

After I worked through the initial aversion, the syntax no longer feels worse
than say, Python, it is just different. In fact, I wouldn't give up Erlang's
pattern matching functionality for anything and I miss that feature in any
other language I use.

~~~
lucian1900
The one thing that really bothers me about its syntax is all the different
line terminators. It makes moving around patterns painful.

I sort of dislike other aspects too, but nowhere near as much.

------
shaunxcode
the non s-expr homoiconicity/macro stuff is really cool. <http://elixir-
lang.org/getting_started/5.html>

------
leo79
Is it me or a release notes with a list of what changed is nowhere to be
found?

~~~
josevalim
Consider this the initial release. The previous alpha versions were designed
completely different, so release notes don't apply for this release. We will
maintain a CHANGELOG from now on: [https://github.com/elixir-
lang/elixir/blob/master/CHANGELOG....](https://github.com/elixir-
lang/elixir/blob/master/CHANGELOG.md)

------
homakov
make try-elixir.org or something )

