I have experience with multiple languages and experience with Rails framework, but I don’t yet know anything about Elixir.
If my immediate need is to build a new webapp, and I intend to try with Phoenix (given its positive reviews), is it important for me to first learn Elixir? Or is it easy enough to pickup along the way with Phoenix tutorials?
Do learn Elixir first. It is not Ruby, nor object oriented language.
The Phoenix framework will be easier to pick up once you know Elixir idioms. Iti s also very similar to Ruby. But you will use it better way if you know how Elixir and OTP, umbrella apps work etc.
Edit: also, I found a good way is to build a simple API first to get a feeling of the language/tools, rather than starting with a big project.
Please learn Elixir first. Phoenix is not Rails—it’s just a web server with some conveniences. To really take advantage of it, learn the language first and then some OTP.
Do you really need to build a web app now? A week or half a week or learning Elixir will pay off.
Fair enough. I have some functional experience with Clojure, so hopefully I can ramp up on Elixir in a week or less. Unfortunately I do have a time sensitive project to do now, and I’m really wanting to not fall back into the old pattern of just using the tools I know (but wish to break free from ).
We’re very lucky to have some really well written books so definitely check them out
Also don’t forget you can get 25% off both Programming Elixir and Programming Phoenix via your control panel on our competition sites (we are giving away a copy of each per month).
As many have pointed out, Elixir and Phoenix while may look familiar if you know Ruby and Rails, but under the hood they are quite different
Oh if you have good Clojure experience then although the syntax here is significantly different you will pick up the idioms very quickly. You might even be able to start with phoenix and elixir concurrently without much issue.
Just keep in mind, Phoenix is mostly just a set of plugs, nothing is magical, feel free to look in its source code to see how anything is done.
As many smarter people than me wrote before: it’s good to learn some Elixir basics and assumptions.
Phoenix is similar to Ruby on Rails only at the first look - the more you learn it, the more differences you see.
RoR is all about magic and OOP. Phoenix and Elixir - all about functional programming and being explicit.
I can advise you for the beginning “Programming Elixir” - it’s really a great book. Dave Thomas wrote that before starting to code, you have to reset your mind
Even aside from the specific case of Elixir and Phoenix (or for that matter Ruby and Rails), learn the language first. That will help you at least realize more easily when/were/how you’ve made some simple typo (or mis-paste or whatever) while copying exercises from the framework tutorial.