Live data from Hacker News

Elixir v1.3 released

elixir-lang.org

101–110 of 125 posts

Re: Elixir v1.3 released

#101

Anyone here switched from a statically typed functional programming language (Haskel, OCaml, F#, Scala...) to Elixir? How would you describe the experience? What do you miss? What do you like/love? Overall, would you recommend taking that step?

There are optional type specs: http://elixir-lang.org/getting-started/typespecs-and-behavio... which can serve as documentation and are used by a tool called Dialyzer during the build process to find errors based on the type specs. I have not used this particular tooling first hand, but my sense is that it is well-integrated and works well. Someone else will probably comment with first-hand experience. The Elixir com…

Dialyzer uses something called Success typing. The gist is that while e.g. Haskell won't compile unless it can prove that your code is correct, Dialyzer will only complain if it can prove that your code is wrong.

Personally, when I used Dialyzer in Erlang, I was underwhelmed by the amount of errors Dialyzer caught (type checking concurrent code is hard, who knew?) — however, it is certainly better than nothing. Plus, the type specifications you have to annotate your functions with help with documentation :)

Re: Elixir v1.3 released

#102
post #93

Earlier quoted context omitted.

> Scala That means being chained to JVM. That is a big downside for me.

Or JS with Scala.js Or literally anything with Scala Native, which is being sponsored and supported by EPFL directly. So yeah, no.

I saw about 5-6 products which use Scala.js and I haven't heard of any of them before. Who else uses that? Seems rather obscure.

Is Scala Native used widely? They just finished implementing java.lang.String 20 days ago or so. At least Erlang on Xen has been serving web pages for a few years now: http://erlangonxen.org

But most usage of Scala is on JVM still, wouldn't you agree? We are not talking CPython/Jython/PyPy/Numba... I don't know, the claim that Scala is widely implemented on other platforms while Elixir is tied to BEAM doesn't quite go far for me.

Re: Elixir v1.3 released

#103
post #61

I use phoenix and elixir, I agree with the statement that Elixir is awesome. But don't drink too much cool-aid - Elixir might be dangerous as well. It is essentially a big pile of macros, so sometimes number of keywords that you have to keep in your head is staggering. Also, Elixir is a pretty big language - I knew Erlang before diving into it - so the barrier and number of concepts that you have to get familiar with…

I don't follow how "these things are macros under the covers" translates to "i need to keep more stuff in my head"

And the argument that "the community discourages macros" isn't particularly compelling, but for whatever reason it has worked well. People seem to use them rarely, and when they are used they're reasonably straight forward. I've been using elixir for a couple years now, and I haven't run into many cases where macros ended up confusing me as a reader.

On the contrary, I stumble over the more esoteric "discouraged by the community" features in scala literally every day.

Relying on the community to exercise restraint with the powerful parts of the language is a huge gamble, but it has worked well in the elixir community.

Re: Elixir v1.3 released

#105
post #48

l used to be/still am a ruby on rails developer. I wrote a very naive web crawler in elixir within a week while learning elixir and I'm blown away by the performance. It basically maxes out my 2011 macbook air's cpu while staying under 200MB of RAM (and maybe another 500 for multiple postgres connections). It basically runs in the background on a computer that can barely handle Firefox with multiple tabs open. The on…

> nothing like hash[:key]

What's wrong with map[:key] ?

Re: Elixir v1.3 released

#106

The proper announcement can also be found on our page: http://elixir-lang.org/blog/2016/06/21/elixir-v1-3-0-release... It is slightly better formatted and contains images from the graph commands and ExUnit diff format.

Small suggestion - I would love to see upgrade instructions somewhere in blog post announcements.

Re: Elixir v1.3 released

#107

The proper announcement can also be found on our page: http://elixir-lang.org/blog/2016/06/21/elixir-v1-3-0-release... It is slightly better formatted and contains images from the graph commands and ExUnit diff format.

Thank you for the amazing project!

Re: Elixir v1.3 released

#108
I am working full time with Elixir and Phoenix for more than one year now and worked with Erlang before that. It is great to see how well thought out all the abstractions are (both in the language and in the framework). I saw couple of companies cautiously introducing Phoenix in their stack and then going all in. One of such stories will be presented at Erlang User Conference: http://www.erlang-factory.com/euc2016/ben-marx

Comparing to Ruby: Phoenix promises to be as productive as Rails, but more performant and it keeps the promise if all the libraries you need are already ported to Elixir. Even if not, people consider writing them from scratch.

Comparing to Erlang: Elixir fixes a lot of problems like encoding or inconsistencies in standard library. It introduces many new concepts borrowed from Ruby so it might be a little overwhelming for Erlang developers (Erlang is really small and simple language - the hard part is OTP).

Learning Elixir is like learning to touch type. Initially it slows you down, because you have your habits. You need to learn new abstractions, because old solutions just don't work. After short period you are as productive as before. After a month you can deliver hight quality code quicker which is the ultimate goal of every programmer :) And it magically scales on more machines or at least utilizes all of the cores.

Re: Elixir v1.3 released

#109

Earlier quoted context omitted.

> * No more JVM! You're just trading one VM for another, though. How does having a Beam VM environment differ from a JVM environment?

True. That bullet was more of my opinion of disliking the memory usage the JVM uses as well as my personal preference of VM. BEAM has many great advantages such as fault tolerance and multi-node distribution built in. This allows concurrency to be a first-class citizen for applications running on the BEAM. I'm not saying that concurrency can't be done on the JVM, but that I've found it to be much simpler using BEAM.…

You can also compile Elixir and Erlang to native code if you want it to run computational stuff faster...

Re: Elixir v1.3 released

#110

Earlier quoted context omitted.

True. That bullet was more of my opinion of disliking the memory usage the JVM uses as well as my personal preference of VM. BEAM has many great advantages such as fault tolerance and multi-node distribution built in. This allows concurrency to be a first-class citizen for applications running on the BEAM. I'm not saying that concurrency can't be done on the JVM, but that I've found it to be much simpler using BEAM.…

You can also compile Elixir and Erlang to native code if you want it to run computational stuff faster...

> You can also compile Elixir and Erlang to native code

How? Can you provide a link about this?

Post reply on HN