Ruby is my favorite language, and often it is a joy to use because of its combined attributes of brevity, expressive power, and feature consistency. It's disappointing that there are so many more jobs for another popular language - one that lacks the elegance and consistency but which has a larger ecosystem. As far as I know, the only well known reason for a company to choose Ruby is if they want Rails (and obviously…
> But that other language also has a popular (and comparatively clumsy) web framework Django is today more elegant, more complete, and better documented than Rails ever was. 10 years ago you would have been correct. 5 years ago they were about evenly matched. Today it's not even close. Python is eating the world, and web frameworks are no exception.
- Async support was second class back then, not obvious how to implement fully.
- REST APIs are a library add-on instead of first-class. An excellent library, but still.
- The package ecosystem sometimes reminded me of the wild-west that is Node.js
- Dependency management is a complicated story (arguably caused by Python, rather than Django itself)
- Django Models are cool and expressive, but nowadays I would rather express my models in something like a dataclass, or a Pydantic model, or just a regular class...
Maybe Rails has these problems and more, I don't know. I'm not saying I'm never going to use Django again, but there's a large chance I will look elsewhere for a batteries-included framework next time I need one.