> I don't believe the "best of both worlds" selling point
Not best of both, but it's the ability to solve the task with either FP or OO depending on the task and do it seamlessly.
> Networking and political effects seem to be more powerful than the merits of a language.
That's probably more true than anything, also it's not hipster enough to convince your regular clojurescript aficionados.
I'm doubling down on my "both worlds" point, whether you state it as (scala = FP and OO) or (scala = FP or OO).
My choice to be null-free does not survive my coworkers' choice to use null. Likewise with mutability, purity, inheritance etc.
The feature that I want is to look at (n : T) and understand that T is T, not (T | ? extends T) and that n is n, not (n | null), or n now and n' later.
It's not Scala's fault if a team can't decide on a coherent coding style/standard, but I feel your point :(
That's why Rust's safety first creed is so welcome. (And that there's --strict in TypeScript.)
Anyway I don't think it's worth dwelling on popularity. Networking and political effects seem to be more powerful than the merits of a language.