5 ms·
For someone who hasn't learnt Rails or any other backend framwork and has only briefly dabbled with NodeJS, is it better to learn Rails first or should I learn
by srikz 9y ago
For someone who hasn't learnt Rails or any other backend framwork and has only briefly dabbled with NodeJS, is it better to learn Rails first or should I learn Elixir / Phoenix directly? Thanks.
- gm-conspiracy 9y agoProbably Rails, since most web frameworks are inspired by features from Rails. Then you can build the missing "parts" in Elixir for Phoenix.
- nitrogen 9y agoDownvoting this makes no sense. Rails is an excellent backend framework to learn because it's been around long enough for people to know what it does well and what it doesn't, and chances are you won't be big enough to hit the Rails scaling ceiling (it's way higher than most people think).
- elvio 9y agoI think it depends a bit on the purpose. If your goal is to learn a new framework and get a job, I believe Rails would be the best option, since there is a huge number of jobs available for Rails developers. Of course you can still get a job with Elixir and Phoenix, but not as many as compared to Rails ones. If your goal is to learn a new web framework and maybe use it to play with personal projects, then both Rails and Phoenix would be great options. Keep in mind that you can also learn both frameworks and benefit even more.
- brandonmenc 9y agoDo you prefer functional programming? Do you like to "know how everything works?" i.e., you prefer explicitness over magic? Are you OK with documentation that isn't always correct? Try Phoenix. Are you a beginner? Do you want to learn a more marketable skill? Do you just want to get stuff done as quickly as possible as soon as possible? Do you prefer OOP? Try Rails. I use both in production. Rails is awesome. It does everything, is performant enough for nearly every use case, and has some of the best documentation ever. You really can't go wrong with it. I switched to Elixir and Phoenix mostly because I prefer functional languages. Honestly, if Elixir weren't functional I wouldn't be using Phoenix over Rails. I also felt - after some years - constrained by the style of modularization Rails enforces - which, to be fair, is a benefit when you're just starting and is suitable for nearly every project. But, if you're an experienced developer, it might bother you in larger projects that you can't break up your code the "right" way. It's a minor detail for some people, and a major pain for others. ymmv. tl;dr - use Rails unless you're willing to trade initial productivity for specific and possibly not very important language preferences.
- srikz 9y agoThank you all for the great replies. I was leaning towards learning Elixir/Phoenix but I also felt it's probably the 'new shiny thing' factor attracting me. This kind of validates it. So, I will probably learn rails and keep an eye out for Phoenix.