Scala is too different from Java to call it better. Java comes with cheap programmers, some of the best tools in the world, reliability, and speed. Scala comes with style (functional, lack of boilerplate, sugar like xml(?)), anecdotal rapid development, and some pretty good concurrency.
Personally I think the syntax in scala is even uglier than Java's, if such a feat were possible, and looking at scala code makes me want to stab my eyes out with forks. Thankfully I don't think I'll have to touch the JVM any time soon.
I would not call Java's syntax "ugly". It is extremely regular and easy to grasp. What it is, however, is extremely verbose. On the other hand, Scala suffers from a bad case of Perlositis: why have one syntax for a language element when you can have three?
It's always about context: if an A/B test show you that changing a button's color from red to blue increases conversion rates by 50%, than red really is superior to blue for this context. Same, if your developers are 50% more productive in Scala than in Java that Scala is a better language for you, same way that red really is superior to blue in the above.
And I really like the dream of a "language agnostic-framework", though I know it's not really possible. It would be cool to have a Play framework which also supports Clojure or JPython or JRuby, as for some developer teams these languages might be superior to Java or Scala - but I know that the development effort would be huge*. But in the real world, 90% of good programmers will take Scala over Java anytime, even if they'll have to learn it! Heck, I'd take C# on mono over Java any day!
I really can't imagine how that is supposed to be even remotely controversial. That's probably as controversial as saying that a $200-CPU built in 2013 is faster than a CPU in 1993.
Isn't that just repeating the “all languages are equal”-myth?
I just hate it when people are right but choose a completely wrong analogy to explain their point: a language's superiority is always context dependent, while a CPUs speed is a cold hard scientific fact (with some gotchas, but nevertheless...). You're right and at the same time using such a wrong argument that you end up feeding the trolls in the process :)
There are certainly languages which are comparatively close, so that it is hard to tell, and where different weightings can lead to different results. That doesn't mean it is like this for every comparison.
For instance, the comparison between Java and Scala certainly doesn't belong to this group, just like comparing PHP with many other languages also leads to a clear outcome.
But honestly, I don't care. There are also people claiming that there is no "objective superiority" in cases like "evolution vs. intelligent design", "6000yo universe vs. billions of years", "software patents vs. no software patents", "no contraception/abortion vs. women's rights".
Its not controversial. Since "superior" is a superlative, it doesn't actually mean anything. So what you said is true but meaningless. Its just a matter of English, not ideology.
My point is that the language is conceited and vacuous, basically used to incite arguments and nothing more. I'm not going to agree or disagree with something that has no meaning.