Live data from Hacker News

Elixir Release v1.0.0

github.com

31–40 of 42 posts

Re: Elixir Release v1.0.0

#31
post #27

A genuine non-flamebait question - if one were to write a Whatsapp-like messaging system today , would you use Erlang, Elixir,Scala,Java 8 or Go? I'm kind of wondering whether Go is not already eating into Erlang (and Scala). I am not an expert, but I understand that Go is not at par with Erlang today , but I am wondering about a 3-year bet for a startup.

I (personally) would bet on Elixir, particularly if the team writing it would be learning an alternative like Go anyway. Go can try to reach parity with Erlang one day...but Elixir already is Erlang...That combined with the fact that Elixir's package management already feels light years ahead of Go's disaster and I think it's a winner. I'm sure I'm wrong and the flames of Go lovers will engulf me in the responses, so…

Are you taking into account the recent efforts in the Go ecosystem to fix the pkg management issue [1]

I may be short sighted, but I seeing the ecosystem around Go to be much more ... accelerated than Erlang.

[1]https://news.ycombinator.com/item?id=7956078

Re: Elixir Release v1.0.0

#32

A genuine non-flamebait question - if one were to write a Whatsapp-like messaging system today , would you use Erlang, Elixir,Scala,Java 8 or Go? I'm kind of wondering whether Go is not already eating into Erlang (and Scala). I am not an expert, but I understand that Go is not at par with Erlang today , but I am wondering about a 3-year bet for a startup.

From a technical standpoint, I'd say Elixir.

Advantages over Go:

1. Reliability (OTP, supervisor, pre-emptive scheduling)

2. Clean code (error handling, higher order functions)

3. Far superior package management

Advantages over Erlang:

1. Extensible (Macros)

2. Familiar syntax for Rails developers

That being said, Go definitely has the advantage when it comes to marketing/hype (Google, Unix daddy etc), which as you can judge by the success of Node and Mongo, sadly trumps technical merit even in the tech community.

Re: Elixir Release v1.0.0

#33
This release is doubly exciting for me because it means my copy of the Programming Elixir book should be shipping very soon!

I think I can very closely relate to Dave Thomas when he expressed his excitement about Elixir and how similar it was to what he felt when he first encountered Ruby. Early last summer I took a fairly deep dive into Elixir and discovered that it left me with the same feelings as when I started to explore Ruby at the suggestion of my then boss many years ago. It just made sense. From the structure of an application to the way pattern matching works and even the larger ecosystem. I know a lot of people compare Ruby and Elixir because of the superficial syntactical similarities but there's something deeper there that makes me almost giddy: once you know the basics a lot of the rest just sort of seems to fall into place. Unlike a lot of other languages the learning process isn't filled with head-tilting moments of confusion, just lots of nodding up and down while thinking "Of course that's how it works!"

Re: Elixir Release v1.0.0

#34
post #17

Earlier quoted context omitted.

I envision Erlang shops moving to Elixir.

Hah, yeah, let's port everything for no obvious reason.

There actually are good, obvious reasons to prefer Elixir to Erlang. Syntax is actually significant to productivity. For one quick example, Erlang requires you to terminate statements with either a comma, or a period, depending on whether it's the last statement in the section. If you move code around, you need to go back at the end and fix the commas and periods. Typically, this happens in the form of an error message, which leads to a tedious extra step that happens to me maybe 15 times a day when working with Erlang. That problem doesn't exist in Elixir. There are quite a few other nice things too. Elixir increases productivity in real ways.

Re: Elixir Release v1.0.0

#35

Earlier quoted context omitted.

Erlang and Elixir play very well together. I imagine Erlang shops "moving to Elixir" will be in the form of Erlang shops hiring people with Ruby experience and letting them use Elixir so they can get up to speed faster.

I knew Ruby pretty well before trying Erlang and used Erlang before trying Elixir -- I still find Erlang easier to write in that Elixir. Elixir is more visually similar to Ruby, sure, buts its substantively not very similar, so the visual similarity is, if anything, a detriment, IMO.

Perhaps the problem is you used Erlang before trying Elixir.

For the typical programmer coming outside the Erlang/Elixir environment, Elixir is by far the more familiar and easier to pick up.

Re: Elixir Release v1.0.0

#36
post #35

Earlier quoted context omitted.

I knew Ruby pretty well before trying Erlang and used Erlang before trying Elixir -- I still find Erlang easier to write in that Elixir. Elixir is more visually similar to Ruby, sure, buts its substantively not very similar, so the visual similarity is, if anything, a detriment, IMO.

Perhaps the problem is you used Erlang before trying Elixir. For the typical programmer coming outside the Erlang/Elixir environment, Elixir is by far the more familiar and easier to pick up.

May be. It also may be that I have a lot less attachment to superficial syntactical similarity than lots of other people seem to -- I see lots of objections to languages not based on substance but based on the lack of familiar superficial structure, and that's not something that's really bothered me (one advantage, perhaps, of having learned -- even if only at a fairly superficial level in some cases -- several languages with radically different syntax in grade school), so "it superficially looks familiar" isn't bypassing, for me, a stumbling block lots of people seem to have.

In any case, yeah, I'm not saying that my personal Erlang vs. Elixir response is anything more than my personal response (or that Elixir isn't valuable; its certainly something I'd like to find time to explore more deeply and I think it has a lot to offer.)

Re: Elixir Release v1.0.0

#37

For the uninitiated, there was a fairly positive critique[1] of Elixir by Joe Armstrong, the creator of Erlang, last year (at least that's what got me hooked to Elixir). [1] http://joearms.github.io/2013/05/31/a-week-with-elixir.html

That's a great read! Were the warts he pointed out ever addressed?

I'll try to cover couple of them. Hopefully, others can fill in:

- funs have an extra dot in the name: not fixed because that will lead to inconsistency [1]

- send operator: removed earlier this year and the operator is reincarnated as comprehension operator (comprehension being more ubiquitous [2]); although, the proposed syntax wasn't adopted

Not sure about funs and def. It appears that not much was discussed about versions in source file and docstrings inside function definition (module doc is already inside); the later one can be dismissed being a common bikeshed in PL design.

So, yeah, most of the proposals couldn't make it because of complications.

[1] https://groups.google.com/d/topic/elixir-lang-core/_kEBXO0NR...

[2] http://elixir-lang.org/getting_started/18.html

Re: Elixir Release v1.0.0

#38
Required self-promotion: If you're interested, I have produced over 12 hours of content across 106+ videos around Elixir, at http://www.elixirsips.com

I started when I was first learning Elixir. Was already a pro with Ruby and had around 3 months of Erlang experience at the time. The first video was nearly my first experience with Elixir ever. Some of the more fun projects I've built with it have included synthesizers, API clients, and websites.

The release of 1.0 gives me goosebumps. José's done great work, and always does.

Re: Elixir Release v1.0.0

#39

Really happy to see the 1.0 milestone reached. I've enjoyed my time with Elixir. It's really approachable, and made a lot of Erlang/OTP concepts start to click for me in ways that they just hadn't, before. Syntactically, it's a pleasure to use as a long-time Ruby guy, which I suppose is no surprise given José's presence in the Ruby community. However, all of this aside, what makes me the most excited about Elixir is…

Lack of jobs is a problem :( It is a nice language but has stiff competition from Go.

I had some limited experience with Go, and some limited experience with elixir, but I walked away feeling like Elixir is better for making distributed systems. I guess the learning curve for Elixir is way higher if someone has no experience with functional languages, but the benefits are probably greater as well.

If I wanted to quickly prototype some highly concurrent service, I'd probably use Go. If I wanted to engineer something that is incredibly scaleable and fault tolerant, I'd probably use Elixir.

The C-ish-syntax and procedural nature of Go is likely to give it more mindshare in the programming community, however, and that can't be ignored.

Re: Elixir Release v1.0.0

#40
post #24

Earlier quoted context omitted.

Erlang and Elixir play very well together. I imagine Erlang shops "moving to Elixir" will be in the form of Erlang shops hiring people with Ruby experience and letting them use Elixir so they can get up to speed faster.

Syntax is the least of your worries when learning a new language. Elixir isn't Ruby. Some new projects may be developed in Elixir but it will never supplant Erlang.

>Some new projects may be developed in Elixir but it will never supplant Erlang.

I vastly prefer Erlang syntax to Elixir's, but IMO it's way too early in the game to say this. In the unlikely event that the people who were attracted to Elixir because they couldn't handle Erlang's syntax can manage to grasp OTP, I imagine that Elixir would ultimately kill Erlang dead. An Erlang that has the same power and expressiveness, runs on the same VM, and is completely compatible - but looks like Algol - would be an irresistible force.

Post reply on HN