The example of why Elixir is less productive makes 0 sense:
Doh Phoenix and Elixir are trying to do all the best to help developers be productive, when you are a technology that promises such a huge scale you need to introduce practices that need to be decoupled => bit slower for developers.
Good example of this how a “model” writes to database. Module (with schema) need to call a changeset, changeset call repository, repository writes to database (example). That’s 3 manual steps where in Rails you have in in one.
Phoenix & Ecto work that way because 1) Elixir is functional, and 2) ActiveRecord mixes a lot of concerns that suck in the longterm.
IMO the real thing holding back Phoenix/Elixir is deployment & operational issues. It's being worked on a lot with Distillery, but from what I understand there's still a lot of kinks to be worked out.
I personally think the deployment story heavily conflicts with container management. I’m going to give edeliver on real hardware a go at some point and things should work very well and be very simple.
Doh Phoenix and Elixir are trying to do all the best to help developers be productive, when you are a technology that promises such a huge scale you need to introduce practices that need to be decoupled => bit slower for developers.
Good example of this how a “model” writes to database. Module (with schema) need to call a changeset, changeset call repository, repository writes to database (example). That’s 3 manual steps where in Rails you have in in one.
Phoenix & Ecto work that way because 1) Elixir is functional, and 2) ActiveRecord mixes a lot of concerns that suck in the longterm.
IMO the real thing holding back Phoenix/Elixir is deployment & operational issues. It's being worked on a lot with Distillery, but from what I understand there's still a lot of kinks to be worked out.