Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Erlang is simpler, there are less syntactic constructs to learn, has more information and learning resources available probably due to its age (30+ years),maybe more tools and libraries, that also means more example to look at. It is also the default language the VM is written for. So you can track and follow the latest changes as they are released.

However if you come from Rails or want to do mostly web development, then Phoenix is a nice framework, so maybe a good place to start. Also Elixir has a very friendlier community for newcomers perhaps, kudos to Jose and team there, they went above and beyond to make that happen.

All in all, there is a huge overlap. Some of the harder or more interesting concepts - functional programming aspect, using light-weight processes with isolated heaps for concurrency, performance evaluation and debugging will be the same. It is not like if you pick Erlang or Elixir you'll be wasting time and going in a separate direction, they share a lot of common concepts, and could transition easier if you need to between them in the future.



>However if you come from Rails or want to do mostly web development, then Phoenix is a nice framework, so maybe a good place to start. Also Elixir has a very friendlier community for newcomers perhaps, kudos to Jose and team there, they went above and beyond to make that happen.

One of the best parts about Elixir/Erlang/other BEAM languages is that you can use something like the Phoenix framework in your erlang project just fine. You do not need to learn Elixir if you want to use any of the neat stuff developed in it.


I don’t think you can realistically use Phoenix without doing at least some Elixir, because it uses macros quite heavily, and you can’t call those from Erlang.


Phoenix without Elixir sounds interesting! Do you have a blog post or some other documentation at hand?


I don't know of any specifically, sorry. But you can use elixir modules by just prefixing them with `Elixir.` in erlang. So to call the phoenix module in erlang you'd just do a regular function call to 'Elixir.Phoenix':xxx


To this point, Elixir is just an OTP Application that gets started by the BEAM.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: