A big ecosystem isn't necessarily good. Although big is relative, it can mean "mature, well-known, multi-featured, well-supported, well-documented", it can also mean "Complicated, hard-to-reason, hard-to-pick a library, hard to know which of the many approaches is correct".
In general, I would argue that most frameworks start pretty sensible and consistent and are much easier to use and they get worse over time as they try to be all things to all people and get spread too thinly.
Well, as per the often referenced ‘No silver bullets’ paper, the only way to significantly improve productivity is to reuse code — no managed language provides an order of magnitude productivity increase over another. So I have to disagree, the ecosystem (which in the concrete JVM case has multiple competing solutions to most problems, with quite good quality) is like the most important factor.
one that might is Julia. getting a like for like comparison is hard, but DifferentialEquations.jl is roughly 10x smaller than petc/odeint, faster, and more fully featured.
In general, I would argue that most frameworks start pretty sensible and consistent and are much easier to use and they get worse over time as they try to be all things to all people and get spread too thinly.