Python's mission statement has been to be the most ergonomic imperative language. That it doesn't support other styles of programming doesn't seem so bad to me, languages do not need to be multi-paradigm.
Where does the frustration come from with Python being more popular than Ruby, is it that some libraries can only be found in Python?
> Where does the frustration come from with Python being more popular than Ruby
Both ecosystems have produced a lot of "content" and there's certainly some things Ruby got better. But because Python has won more marketshare the ceiling of those ruby tools feels lower.
Now the reasons python won aren't hard to find:
* data science / machine learning dominance
* closer to Java/C++ gives it a huge edge in academia as a beginner language
* Python is bigger then the sum of its parts where as people see Ruby as a dependency of Rails (only half joking)
Python has excellent support for dependency injection and monkeypatching these days.
It has an entire arsenal of pre-made decorators.
I've found Python's original paradigm, "create deep, object oriented libraries, and have users write procedural/functional scripts in production," to be absolutely excellent.
These days though, the world's most popular programming language has been extended, and not in a bad way.
You can do just about anything in it, and it'll be a really good experience (and extremely slow code...).
Where does the frustration come from with Python being more popular than Ruby, is it that some libraries can only be found in Python?