Ask HN: Rails, Django, or Phoenix?
What I like about each:
- Rails: It's highly productive and I currently know Ruby the most. Plenty of jobs, if needed.
- Django: It's fairly productive and I know Python. Faster than Rails. Can use data science/ML in my web apps. Python's adoption is growing fast. An okay amount of jobs, if needed.
- Phoenix: It's fairly productive and much faster than Django and Rails. Functional programming and the Erlang ecosystem could lead me to write better code. While I know Elixir the least, I like the language and don't mind dropping OOP.
What I don't like about each:
- Rails: So much magic. Slowest of 'em all. Ruby adoption is going down, so I feel I'm investing in a depreciating asset and Ruby is mostly used for web development so I can't reuse the language that much in other areas.
- Django: the most explicit (by design) so I feel like I'm hand holding Django. It's slower to develop than Rails and less flexible. I feel like I'm investing in old technology, right or wrong, that hasn't progressed as quickly as Rails has. In a way it's the opposite of Rails' situation. The language is going places unlike Ruby, but I'm not sure the framework is.
- Phoenix: it's a niche, there are fewer libraries, few jobs if I lose my current one, and there is so much to learn at once to get both Elixir and BEAM/OTP.
Do you have any thoughts on this? What would you do?